{"version":"2.1.319","anchor":"startup-timing-records-hooks-init-origin-when-claude-code-re","canonical_anchor":"startup-timing-records-hooks-init-origin-when-claude-code-re","heading":"Startup timing now records how long hook setup takes for each origin","tier":"internal","area":"Telemetry","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.319\/e\/startup-timing-records-hooks-init-origin-when-claude-code-re","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.319","markdown":"### Startup timing now records how long hook setup takes for each origin\n\nWith CLAUDE_CODE_REMOTE or CLAUDE_CODE_EMIT_STARTUP_TIMING set, startup timing now notes the longest hook setup time for each origin\n\n**What**\n\nClaude Code's startup timing now also records the time spent setting up hooks. Hooks are commands you configure to run at certain points while Claude Code works. For each place a hook setup comes from, it keeps the longest time in milliseconds.\n\nThis is only recorded when one of these environment variables is set:\n\n- `CLAUDE_CODE_REMOTE`\n\n- `CLAUDE_CODE_EMIT_STARTUP_TIMING`\n\nIt is also only recorded before the timing report has been used.\n\n**Why**\n\nIt gives a finer view of where startup time goes in remote sessions and in sessions that report their startup timing.\n\n- Area: Telemetry\n- Tier: Under the hood\n- Useful: 1\/5\n- Signal: 1\/5\n- Scope: individual\n- Heads-up: no"}