{"version":"2.1.310","anchor":"tool-decision-telemetry-carries-request-id-compaction-event","canonical_anchor":"tool-decision-telemetry-carries-request-id-compaction-event","heading":"Tool and permission telemetry now carries the API request_id","tier":"internal","area":"Telemetry","scope":"both","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/tool-decision-telemetry-carries-request-id-compaction-event","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310","markdown":"### Tool and permission telemetry now carries the API request_id\n\nTelemetry records of tool use and permission decisions now include the API request_id, and a few other usage records gain extra fields\n\n**What**\n\nClaude Code keeps internal usage records, called telemetry, about what happens in a session. Several of these records gain new details:\n\n- Records of tool use and of permission decisions now include a `request_id` when one is available. A tool is an action Claude can take, a permission decision is whether a tool call was allowed, and `request_id` is the ID of the request to Anthropic's API that led to the action.\n\n- The record written when a conversation is compacted (shortened to save space) takes extra context.\n\n- Logging of API response bodies now receives the agent context (`agentContext`).\n\n- A cached tool-use object now carries a `withListings` flag.\n\n- The `telemetry.log` helper that hooks use can now add `engineRaised: true` when that option is set. A hook is a script that runs automatically at set points.\n\n**Why**\n\nWith a `request_id` attached, a tool call or a permission decision can be traced back to the specific API request that produced it. Nothing changes in how you use Claude Code.\n\n- Area: Telemetry\n- Tier: Under the hood\n- Useful: 1\/5\n- Signal: 1\/5\n- Scope: both\n- Heads-up: no"}