Under the hoodTier: how much it should matter to you
2Useful: my rating, 1 to 5
2Signal: worth watching, 1 to 5
TelemetryArea: what it touches
Internal ChangesKind: in v2.1.268,
Internal ChangesSection of the release
What
A new gate detects when Claude Code is running as CLAUDE_CODE_REMOTE with an OTel traces endpoint that isn't localhost ("off-box"). When true, spans for interactions, LLM requests, tool calls, and subagent spawns redact sensitive data: user prompts become "<REDACTED>" even if OTEL_LOG_USER_PROMPTS is set, model names are replaced with a hashed/normalized value (with a new tool_name_safe/query_source_safe attribute instead of the raw value), agent ids are anonymized, and custom subagent types are reported simply as "custom". The interaction span also gains link propagation (queued_sends) and a parent.source attribute.
Tool-call failure telemetry now records a separate errorClass field alongside the error message/code.
Error-attribute recording was reworked so a single error string is replaced by both an error field and a sanitized error_class (letters/digits/underscore only, matching /^[A-Za-z][A-Za-z0-9_]{0,47}$/). The raw error text is omitted entirely when telemetry is judged to be leaving the box, using the same off-box condition described above.
Why
These changes keep sensitive data like prompts, model names, and raw error text out of telemetry that leaves the local machine, while still preserving a normalized, non-sensitive error classification for debugging.