Telemetry and egress changedthird-party/claude-desktop/telemetry
Upstream edited this page at 11 Nov 2026 21:43 UTC, give or take a minute or two: the time comes from Anthropic’s own sitemap rather than from a commit. This site recorded the change at 11 Nov 2026 22:07 UTC.
Upstream edited
Recorded here
Lines+12added
Lines−2removed
From line
58
where the diff opens
First seen
14 Aug 2026
this site's first read of the page
Recorded edits54to this page, all time
The whole hunk
from line 58, old and new numbered
/
from line 58
5858
5959## Sending telemetry to your own collector
6060
61Independently of what's sent to Anthropic, you can export session activity to your own OpenTelemetry collector by setting `otlpEndpoint`. This is the recommended way to retain an audit trail in environments that disable Anthropic-bound telemetry.
61Independently of what's sent to Anthropic, you can export session activity to your own OpenTelemetry collector by setting `otlpEndpoint`. This is the recommended way to retain an audit trail in environments that disable Anthropic-bound telemetry. The export isn't a complete record of a session; see [Content capture](#content-capture).
6262
6363For third-party deployments, the export includes session metadata (event names, durations, token counts, result counts, errors) by default, but not message content. It also identifies the signed-in user; see [User attribution](#user-attribution). Records of skill scans are an exception to leaving out message content. If you turn on [skill scanning](https://claude.com/docs/third-party/claude-desktop/extensions.md#skill-scanning), the export also carries `custom3p_skill_scan_completed` records of scan results, and a record's summary can quote the skill. Claude Desktop sends the summary even when [content capture](#content-capture) (`otlpContentCapture`) is off. See [Monitoring](https://claude.com/docs/cowork/monitoring.md) for the event schema and the [`otlp*` keys](https://claude.com/docs/third-party/claude-desktop/configuration#otlpendpoint) in the configuration reference.
6464
from line 120
120120| `toolContent` | Tool output content, up to the [content length limit](#content-length-limit) |
121121| `rawApiBodies` | Inference request and response bodies, up to the [content length limit](#content-length-limit) |
122122
123On Claude Desktop version 1.17377 or later, enabling `userPrompts` also captures model responses, even if `assistantResponses` is not listed. On those versions, no `otlpContentCapture` configuration captures user prompts without model responses.
123Your collector doesn't get a [`user_prompt`](https://claude.com/docs/cowork/monitoring#user-prompt-event) event for some messages that people send. Don't rely on content capture alone to keep what people type.
124
125On Claude Desktop 1.17377.1 or later, listing `userPrompts` also captures model responses by default, even if `assistantResponses` isn't listed.
126
127To capture user prompts and redact model response text, set `OTEL_LOG_ASSISTANT_RESPONSES` to `0` in the `env` block of [Claude Code's own managed settings](https://claude.com/docs/third-party/claude-desktop/code.md#interaction-with-claude-code%E2%80%99s-own-managed-settings), and leave `rawApiBodies` out of `otlpContentCapture`. Each [`assistant_response`](https://claude.com/docs/cowork/monitoring#model-response-event) event still arrives, with `<REDACTED>` in place of the text. Requires Claude Desktop 2.37337.1 or later.
128
129Check these points before you deploy the setting:
130
131* **Where to set it**: in the highest-priority Claude Code managed settings on the device, not in a per-user Windows registry policy. See **More detail** under [`otlpContentCapture`](https://claude.com/docs/third-party/claude-desktop/configuration#otlpcontentcapture).
132* **No Claude Code managed settings on the device yet**: also set `parentSettingsBehavior` to `"merge"` in the settings you create, or Claude Code can drop the restrictions that Claude Desktop passes to it
133* **Background agents in Code sessions**: when an agent that Claude runs in the background finishes, Claude Code passes the agent's final response back to the conversation as a prompt. Your collector can receive that text in a `user_prompt` event, and on a trace span when [traces](#traces-beta) are on, even with the variable set to `0`. Cowork and Chat sessions don't run agents in the background.
124134
125135Conversation titles arrive on the desktop application's own stream (`claude-desktop`) as a `desktop_session_title_set` event that carries each Cowork and Code session's title and the Claude Code `session.id` to join on. The event is exported only when [`otlpDesktopLogLevel`](https://claude.com/docs/third-party/claude-desktop/configuration#otlpdesktoploglevel) is `info` or `debug`, and the title text is included only when `otlpContentCapture` includes `userPrompts`. Requires Claude Desktop 1.44121.1 or later.
126136
No line in this hunk matches that.