SessionStart
A Claude Code hook event, read out of the shipped bundle. No mined inventory carries it: everything below comes from what this site has written about it.
When a session begins or resumes
Anthropic's own wording. Read off Hooks reference, captured 2026-10-22.
In the changelogs
45Releases whose published page names SessionStart.
-
v2.1.300
Session start now waits on a setup step before handling messages
When a session starts, Claude Code now finishes a step tied to
SessionStarthooks before it begins processing messagesfound in this entry's text
-
v2.1.296
Three new environment variables for progress summaries, compaction timing and resume hooks
Claude Code now reads three new environment variables: agent progress summaries, a sleep-compaction delay and a resume hook wait
found in this entry's text
-
v2.1.296
Three new environment variables for timing and agent progress summaries
Claude Code reads three new environment variables, none active unless set, and keeps them out of the programs it launches
found in this entry's text
-
v2.1.296
Hook timing diagnostics get a corrected interval and a resume wait measure
Claude Code's diagnostics now take the unresponsive-host interval from a different source and time how long resuming waits on
SessionStarthooksfound in this entry's text
-
v2.1.295
Transcript tail cleanup now passes over empty SessionStart hook entries
A switchable cleanup of trailing transcript messages no longer stops at empty SessionStart hook progress or success entries
found in this entry's text
-
v2.1.295
Repeated output from background SessionStart hooks is no longer added twice
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
found in this entry's text
-
v2.1.290
Late SessionStart hook output can be held and delivered later
Output from a SessionStart hook that arrives late can be set aside and passed on later instead of being lost
found in this entry's text
-
v2.1.290
Late SessionStart hook output now waits for running tool calls
Output from a SessionStart hook that arrives late is now held until any open tool call finishes, instead of being added at once
found in this entry's text
-
v2.1.287
Opt-in setting delays the first-turn command refresh in remote sessions
With
CLAUDE_CODE_CCR_FOLD_FIRST_TURN_RESCANset, remote sessions wait for plugin startup before refreshing commands on the first turnfound in this entry's text
-
v2.1.287
Groundwork for running SessionStart hooks of plugins added mid-session
Claude Code now tracks which plugins' SessionStart hooks have run and can pick out plugins loaded later whose hooks have not
found in this entry's text
-
v2.1.287
Small additions to usage reporting, file errors and connection options
New usage events, a plain message when a file name already exists, a changed model ranking and a connection timeout option
found in this entry's text
-
v2.1.287
Plugins loaded mid-session can no longer inject a starting message from SessionStart hooks
In a new mode, a SessionStart hook from a plugin loaded after the session began has its initial user message ignored, with a warning
found in this entry's text
-
v2.1.281
Scaffold template for a plugin SessionStart hook
Claude Code now has a starter template for a plugin hook that runs when a session begins
found in this entry's text, named in this entry
-
v2.1.281
New SDK pre-warmed spare process: --await-claim plus claim_session control request
A hidden
--await-claimoption lets an SDK host start a spare Claude Code process early and bind it to a session laterfound in this entry's text
-
v2.1.281
mcp_tool hooks wait for an MCP server that is still connecting
mcp_tool hooks now wait for an MCP server that is still connecting instead of being skipped straight away
found in this entry's text
-
v2.1.281
set_cwd SDK control request documents that SessionStart hooks never re-run
The set_cwd control request is now documented as never re-running SessionStart hooks
found in this entry's text
-
v2.1.281
Parked spare sessions (--await-claim) skip project/local stdio MCP servers and take SessionStart hooks from claim
Spare sessions parked with --await-claim skip project stdio MCP servers, and workspace_trust must now come with claim_session
found in this entry's text
-
v2.1.281
Session start gains takeClaimSessionStartHooks / sdkMcpServersPending / noteSdkEntryWait hooks
SDK and print sessions can now hold back SessionStart hooks and wait for SDK MCP servers that are still starting
found in this entry's text
-
v2.1.273
SessionStart/turn-end message when the driving app doesn't respond
New message tells you when the app driving your session, like Claude Desktop, didn't respond at startup or mid-turn
found in this entry's text
-
v2.1.273
SessionStart hook execution now receives an agentContext parameter
SessionStart hooks now receive an extra agentContext parameter when they run
found in this entry's text, named in this entry
-
v2.1.271
Query loop now waits for pending SessionStart hooks before dispatching a prompt to the model
Claude Code now waits for pending SessionStart hooks to finish before sending your prompt to the model
found in this entry's text
-
v2.1.268
SessionStart hooks can be cut short by an 'orphaned' signal
SessionStart hooks can now be stopped early if the session becomes orphaned
found in this entry's text, named in this entry
-
v2.1.268
Resume picker now forwards pending SessionStart hook messages
Resuming a session from the picker now carries forward any pending SessionStart hook messages
found in this entry's text, named in this entry
-
v2.1.267
Async SessionStart hooks are now settled with a grace period before the run reports settled
Claude Code now waits, with a grace period, for pending SessionStart hooks to finish before continuing
found in this entry's text
-
v2.1.265
SessionStart hook execution now honors an abort signal
SessionStart hooks can now be aborted mid-run instead of always running to completion
found in this entry's text, named in this entry
-
v2.1.265
New hook-timing guard message for classic hooks calling turn.complete-style APIs
New warning explains why calling certain APIs from most hooks would freeze, and tells you to use turn.complete instead
found in this entry's text
-
v2.1.265
New
classic.*hook turn-block guidance distinguishes SessionStart/Setup/SessionEnd from other classic hooksClearer error guidance when a classic hook other than SessionStart/Setup/SessionEnd tries to block the turn
found in this entry's text
-
v2.1.251
SessionStart hooks get cache-cost data on resume and fork
SessionStart hooks now get cache age, context size and estimated re-caching cost on resume.
named in this entry, found in this entry's text
-
v2.1.251
SessionStart hooks can see the resumed conversation
SessionStart hooks can now see the messages carried over from a resumed session.
named in this entry, found in this entry's text
-
v2.1.248
Failed session startup no longer leaves parts of the session running
A failed startup now shuts down everything it already started instead of leaving parts running.
found in this entry's text
-
v2.1.246
Tool subprocesses can be launched inside a memory-capped cgroup
MCP servers, hooks, plugin installs and tmux sessions can run under a memory cap, dark-launched here.
found in this entry's text
-
v2.1.213
Claude Platform on Google Cloud
found in this entry's text
-
v2.1.213
SessionStart Hook:
forkSource Valuefound in this entry's text
-
v2.1.124
update-configskill prompt rewrittenfound in this entry's text
-
v2.1.116
UserPromptExpansion Hook Event
found in this entry's text
-
v2.1.101
Hook Event Validation
found in this entry's text
-
v2.1.81
SessionStart Hook
initialUserMessageFieldfound in this entry's text
- v2.1.75
-
v2.1.28
Simplified Hook Context Session Persistence
found in this entry's text
-
v2.1.21
Enhanced Hook System for SDK Integration
found in this entry's text
-
v2.1.21
CLI Init Only Flag Description Update
found in this entry's text
-
v2.0.28
SessionStart Hook Context
found in this entry's text
-
v2.0.22
Session Environment Hooks
found in this entry's text
-
v2.0.22
SessionStart Hook Responses Now Visible
found in this entry's text
-
v1.0.62
️ Architecture
found in this entry's text
First cited
7The earliest release whose published evidence quoted SessionStart was v2.1.21, 28 Jan 2026. That is the oldest release this project wrote about it, so it is a floor on the name's age and not the release that introduced it. It is not a presence reading: which builds carried the name is the table below.
1 further span in the ledger name it. The list above is the earliest first and stops at 6.
Presence across releases
0The miner has never read a build containing this name. It is here because a changelog entry of ours names it, which is evidence that it existed and not evidence of which releases carried it. The inventory starts at v2.1.138 and everything older than that was never mined.
Read out of the published npm bundle release by release, and out of Anthropic's own documentation as this site captured it. Nothing on this page is a description anybody here wrote about what the hook event does. All hook events.