{"name":"CLAUDE_CODE_EMIT_STARTUP_TIMING","slug":"claude-code-emit-startup-timing","family":"env","title":"Environment variables","noun":"environment variable","description":"A new CLAUDE_CODE_EMIT_STARTUP_TIMING environment variable turns on startup-timing telemetry outside remote sessions","description_source":"entry","described_by":{"version":"2.1.274","anchor":"new-environment-variable-claude-code-emit-startup-timing"},"presence":{"first_seen":"2.1.274","removed_in":null,"in_current_build":true,"newest_mined":"2.1.319","builds":42,"mined_builds":159,"first_cited":{"version":"2.1.274","released_at":"2026-09-16 22:36:09","spans":1}},"aliases":[],"entries":[{"version":"2.1.319","anchor":"startup-timing-records-hooks-init-origin-when-claude-code-re","heading":"Startup timing now records how long hook setup takes for each origin","line":"With CLAUDE_CODE_REMOTE or CLAUDE_CODE_EMIT_STARTUP_TIMING set, startup timing now notes the longest hook setup time for each origin","released_at":"2026-11-06 00:58:56","reason":"found in this entry's text"},{"version":"2.1.315","anchor":"turn-start-timing-schema-gains-phases","heading":"Startup timing breakdown now names four more phases","line":"Claude Code's breakdown of time spent before a turn's first request now names four more phases that used to be counted as other","released_at":"2026-10-30 21:05:24","reason":"found in this entry's text"},{"version":"2.1.295","anchor":"startup-timing-hides-time-origin-when-a-check-is-true","heading":"Startup timing data can leave out the process start time","line":"Startup timing data now omits the process's absolute start time under one condition","released_at":"2026-10-08 18:22:58","reason":"found in this entry's text, named in this entry"},{"version":"2.1.288","anchor":"turn-request-timing-adds-three-phases","heading":"Turn timing data adds three more phases","line":"Timing data for the start of a turn now includes message_prep, model_config_wait and auto_mode_context_wait","released_at":"2026-10-02 18:30:40","reason":"found in this entry's text, named in this entry"},{"version":"2.1.287","anchor":"turn-timing-split-into-finer-resume-phases","heading":"Timing reports now split the resume step at the start of a turn into smaller parts","line":"Turn timing data now breaks the resume step into several parts and records what kind of resume it was","released_at":"2026-10-01 16:59:25","reason":"found in this entry's text"},{"version":"2.1.285","anchor":"result-messages-gain-turn-start-timing-diagnostics","heading":"SDK result messages can now report a breakdown of time before the first model request","line":"Successful SDK results gain timing fields that break down the delay before the first model request, under the same conditions as startup timing","released_at":"2026-09-29 17:32:09","reason":"found in this entry's text"},{"version":"2.1.274","anchor":"new-environment-variable-claude-code-emit-startup-timing","heading":"New environment variable CLAUDE_CODE_EMIT_STARTUP_TIMING","line":"A new CLAUDE_CODE_EMIT_STARTUP_TIMING environment variable turns on startup-timing telemetry outside remote sessions","released_at":"2026-09-16 22:36:09","reason":"named in this entry, found in this entry's text"}],"entries_total":7,"docs":[],"docs_total":0,"gates":[],"related":[{"name":"CLAUDE_CODE_EMIT_SESSION_STATE_EVENTS","slug":"claude-code-emit-session-state-events","description":"The Agent SDK now ends a run when Claude Code reports it is idle, which can mean waiting up to 10 minutes after the result"},{"name":"CLAUDE_CODE_EMIT_TOOL_USE_SUMMARIES","slug":"claude-code-emit-tool-use-summaries","description":"When true, after a main-thread turn runs tools (and is not aborted), Claude Code makes an extra tool-free model call that labels the completed tools from their names, inputs and outputs (each cut to 300 characters) plus up to 200 characters of the last assistant text, and emits the result as a `tool_use_summary` message. Off by default."},{"name":"CLAUDE_CODE_EMIT_USER_PROMPT_SUBMIT_HOOK_EVENTS","slug":"claude-code-emit-user-prompt-submit-hook-events","description":"Setting CLAUDE_CODE_EMIT_USER_PROMPT_SUBMIT_HOOK_EVENTS makes Claude Code report when UserPromptSubmit hooks start and finish"}],"url":"https:\/\/changelogs.core-directive.com\/reference\/env\/claude-code-emit-startup-timing","family_url":"https:\/\/changelogs.core-directive.com\/reference\/env.json"}