{"version":"2.1.317","anchor":"turn-timing-new-tool-schema-message-normalization-and-requ","canonical_anchor":"turn-timing-new-tool-schema-message-normalization-and-requ","heading":"Finer timing breakdown for how each request to the model is built","tier":"internal","area":"Telemetry","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.317\/e\/turn-timing-new-tool-schema-message-normalization-and-requ","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.317","markdown":"### Finer timing breakdown for how each request to the model is built\n\nClaude Code now times tool-schema building, message preparation and request building separately for each turn\n\n**What**\n\nClaude Code measures how long each turn takes. A turn is one round of you asking and Claude answering. These measurements are now split into smaller parts:\n\n- Building the descriptions of the tools Claude can use (`toolSchemaBuild`, with `tool_schema_build_detail`).\n\n- Preparing the conversation's messages (`messageNormalization`, with `message_normalization_detail`). This step now records timing marks as it runs.\n\n- Building the request sent to the model (`requestBuild`, with `request_build_detail`).\n\n- Time windows for the response stream and for waiting for the first reply (`states`).\n\n**Why**\n\nThese are internal speed measurements. Nothing changes in what you see or do. They let slow spots before a request is sent be found more precisely.\n\n- Area: Telemetry\n- Tier: Under the hood\n- Useful: 1\/5\n- Signal: 1\/5\n- Scope: individual\n- Heads-up: no"}