Skip to main content

Runtime overview

Asymptote collects Claude.ai chat telemetry through the optional browser extension. Every turn on claude.ai becomes prompt, response, and tool events in the local runtime log, attributed to the claude_web harness so it stays separate from Claude Code and other CLI agents. Support is in beta. The claude.ai chat API is private and undocumented, so a change on the site can interrupt capture until the adapter is updated.

Prerequisites

  • The Beacon endpoint is installed and running, and the browser extension is loaded. See Browser Extension for both steps.
  • claude.ai is enabled in the extension’s options page. It is enabled by default.

Collection path

The extension’s main-world interceptor tees the streamed response from claude.ai’s completion endpoint. The Claude adapter reads the Anthropic-style Server-Sent Event stream and rebuilds one turn from it: The service worker then posts the turn to the local collector as OTLP GenAI logs. Events carry harness.collection_method of otlp. A turn whose stream is cut off before message_stop is still delivered, recorded as agent.response rather than agent.response.completed.

Events

One claude.ai turn produces: Turns from one conversation share a session id, so a conversation reads as a session in the dashboard even though the site sends no session start or stop signal.

Telemetry coverage

Confirm it is working

Send one message on claude.ai, then look for the event:
To read the most recent one, including its token counts:
On a system-mode install the log lives at /var/log/beacon-agent/runtime.jsonl instead, and reading it needs sudo. If nothing arrives, work through the troubleshooting steps on the extension page.

Limits

  • The stream format is private. The adapter is written defensively and degrades to a partial turn rather than failing, but a site change can still stop capture until the adapter is updated.
  • Only the chat stream is read. Attachments, artifacts rendered outside the stream, and project files are not captured.
  • Prompt text comes from the request body. A turn sent through a path the adapter does not recognize arrives with the response but without the prompt.
  • Retention defaults to full. Prompt and response text is retained unless you change the mode in the extension’s popup. See retained content.

Browser Extension

Install, configure, and verify the extension.

ChatGPT

The other supported browser chat surface.

Supported agent harnesses

Return to the runtime support overview.

Retention and redaction

How retained content is handled once it reaches the endpoint.