{"name":"SessionStart","slug":"sessionstart","family":"hook","title":"Hook events","noun":"hook event","description":"When a session begins or resumes","description_source":"docs","described_by":{"doc":"claude-code\/hooks","title":"Hooks reference"},"presence":{"first_seen":null,"removed_in":null,"in_current_build":false,"newest_mined":"2.1.308","builds":0,"mined_builds":149,"first_cited":{"version":"2.1.21","released_at":"2026-01-28 01:37:44","spans":7}},"aliases":[],"entries":[{"version":"2.1.300","anchor":"sessionstart-now-awaits-a-pre-step-before-the-main-loop","heading":"Session start now waits on a setup step before handling messages","line":"When a session starts, Claude Code now finishes a step tied to `SessionStart` hooks before it begins processing messages","released_at":"2026-10-14 14:27:26","reason":"found in this entry's text"},{"version":"2.1.296","anchor":"three-new-claude-code-env-vars-registered-and-read-agent","heading":"Three new environment variables for progress summaries, compaction timing and resume hooks","line":"Claude Code now reads three new environment variables: agent progress summaries, a sleep-compaction delay and a resume hook wait","released_at":"2026-10-09 16:58:10","reason":"found in this entry's text"},{"version":"2.1.296","anchor":"three-new-claude-code-env-vars-are-stripped-from-the-spawn","heading":"Three new environment variables for timing and agent progress summaries","line":"Claude Code reads three new environment variables, none active unless set, and keeps them out of the programs it launches","released_at":"2026-10-09 16:58:10","reason":"found in this entry's text"},{"version":"2.1.296","anchor":"host-unresponsive-warning-interval-fix-and-new-sessionstart","heading":"Hook timing diagnostics get a corrected interval and a resume wait measure","line":"Claude Code's diagnostics now take the unresponsive-host interval from a different source and time how long resuming waits on `SessionStart` hooks","released_at":"2026-10-09 16:58:10","reason":"found in this entry's text"},{"version":"2.1.295","anchor":"tengu-silly-waterfall-cleanup-now-also-covers-sessionstart-h","heading":"Transcript tail cleanup now passes over empty SessionStart hook entries","line":"A switchable cleanup of trailing transcript messages no longer stops at empty SessionStart hook progress or success entries","released_at":"2026-10-08 18:22:58","reason":"found in this entry's text"},{"version":"2.1.295","anchor":"async-sessionstart-hook-output-deduplicated","heading":"Repeated output from background SessionStart hooks is no longer added twice","line":"Background SessionStart hook output is skipped when Claude already has the same text from an earlier run, so the conversation is not padded with duplicates","released_at":"2026-10-08 18:22:58","reason":"found in this entry's text"},{"version":"2.1.290","anchor":"held-sessionstart-hook-output-across-workers","heading":"Late SessionStart hook output can be held and delivered later","line":"Output from a SessionStart hook that arrives late can be set aside and passed on later instead of being lost","released_at":"2026-10-05 18:12:44","reason":"found in this entry's text"},{"version":"2.1.290","anchor":"late-sessionstart-plugin-hook-output-waits-for-open-tool-cal","heading":"Late SessionStart hook output now waits for running tool calls","line":"Output from a SessionStart hook that arrives late is now held until any open tool call finishes, instead of being added at once","released_at":"2026-10-05 18:12:44","reason":"found in this entry's text"},{"version":"2.1.287","anchor":"ccr-first-turn-plugin-rescan-fold-behind-a-new-env-var","heading":"Opt-in setting delays the first-turn command refresh in remote sessions","line":"With `CLAUDE_CODE_CCR_FOLD_FIRST_TURN_RESCAN` set, remote sessions wait for plugin startup before refreshing commands on the first turn","released_at":"2026-10-01 16:59:25","reason":"found in this entry's text"},{"version":"2.1.287","anchor":"sessionstart-hooks-can-run-for-newly-added-plugins-only","heading":"Groundwork for running SessionStart hooks of plugins added mid-session","line":"Claude Code now tracks which plugins' SessionStart hooks have run and can pick out plugins loaded later whose hooks have not","released_at":"2026-10-01 16:59:25","reason":"found in this entry's text"}],"entries_total":45,"docs":[{"source":"claude-code","path":"hooks","title":"Hooks reference","documented":true},{"source":"claude-code","path":"agent-sdk\/hooks","title":"Intercept and control agent behavior with hooks","documented":true},{"source":"claude-code","path":"agent-sdk\/agent-loop","title":"How the agent loop works","documented":false},{"source":"claude-code","path":"agent-sdk\/claude-code-features","title":"Use Claude Code features in the SDK","documented":false},{"source":"claude-code","path":"agent-sdk\/typescript","title":"Agent SDK reference - TypeScript","documented":false},{"source":"claude-code","path":"agent-view","title":"Manage multiple agents with agent view","documented":false},{"source":"claude-code","path":"changelog","title":"Claude Code changelog","documented":false},{"source":"claude-code","path":"claude-code-on-the-web","title":"Use Claude Code in the cloud","documented":false},{"source":"claude-code","path":"cli-reference","title":"CLI reference","documented":false},{"source":"claude-code","path":"cloud-environments","title":"Configure cloud environments","documented":false}],"docs_total":14,"gates":[],"related":[],"url":"https:\/\/changelogs.core-directive.com\/reference\/hook\/sessionstart","family_url":"https:\/\/changelogs.core-directive.com\/reference\/hook.json"}