Follow Discord
Sweep 22 Oct 2026 · 04:32Z Build v2.1.308 527 read Stable v2.1.308 Latest v2.1.308 Next v2.1.308 Feeds RSS JSON llms.txt llms-full.txt Unofficial

SessionStart

hook never mined documented JSON

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.

First seen — never in a mined build
Last seen — never in a mined build
Builds0 / 149on this box, as of v2.1.308
Written about v1.0.62 first named in a changelog, 28 Jul 2025

In the changelogs

45

Releases whose published page names SessionStart.

  1. 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 SessionStart hooks before it begins processing messages

    found in this entry's text

  2. 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

  3. 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

  4. 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 SessionStart hooks

    found in this entry's text

  5. 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

  6. 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

  7. 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

  8. 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

  9. v2.1.287
    Opt-in setting delays the first-turn command refresh in remote sessions

    With CLAUDE_CODE_CCR_FOLD_FIRST_TURN_RESCAN set, remote sessions wait for plugin startup before refreshing commands on the first turn

    found in this entry's text

  10. 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

  11. 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

  12. 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

  13. 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

  14. v2.1.281
    New SDK pre-warmed spare process: --await-claim plus claim_session control request

    A hidden --await-claim option lets an SDK host start a spare Claude Code process early and bind it to a session later

    found in this entry's text

  15. 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

  16. 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

  17. 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

  18. 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

  19. 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

  20. 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

  21. 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

  22. 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

  23. 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

  24. 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

  25. 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

  26. 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

  27. v2.1.265
    New classic.* hook turn-block guidance distinguishes SessionStart/Setup/SessionEnd from other classic hooks

    Clearer error guidance when a classic hook other than SessionStart/Setup/SessionEnd tries to block the turn

    found in this entry's text

  28. 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

  29. 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

  30. 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

  31. 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

  32. v2.1.213
    Claude Platform on Google Cloud

    found in this entry's text

  33. v2.1.213
    SessionStart Hook: fork Source Value

    found in this entry's text

  34. v2.1.124
    update-config skill prompt rewritten

    found in this entry's text

  35. v2.1.116
    UserPromptExpansion Hook Event

    found in this entry's text

  36. v2.1.101
    Hook Event Validation

    found in this entry's text

  37. v2.1.81
    SessionStart Hook initialUserMessage Field

    found in this entry's text

  38. v2.1.75

    found in this entry's text

  39. v2.1.28
    Simplified Hook Context Session Persistence

    found in this entry's text

  40. v2.1.21
    Enhanced Hook System for SDK Integration

    found in this entry's text

  41. v2.1.21
    CLI Init Only Flag Description Update

    found in this entry's text

  42. v2.0.28
    SessionStart Hook Context

    found in this entry's text

  43. v2.0.22
    Session Environment Hooks

    found in this entry's text

  44. v2.0.22
    SessionStart Hook Responses Now Visible

    found in this entry's text

  45. v1.0.62
    ️ Architecture

    found in this entry's text

First cited

7

The 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.

ReleaseDateThe span that was quoted
v2.1.2128 Jan 2026Run Setup and SessionStart:startup hooks, then exit
v2.1.28123 Sep 2026SessionStart hooks are never re-run by set_cwd
v2.1.2871 Oct 2026Ignoring initialUserMessage from a SessionStart hook: its plugin loaded after the session started
v2.1.2905 Oct 2026SessionStart hook output an earlier worker set aside could not be read (dropped)
v2.1.2958 Oct 2026Claude already sees the same text from an earlier SessionStart run
v2.1.2969 Oct 2026SessionStart hooks are still running after ${r} ms: waiting until they end, because an administrator's hook may be among them

1 further span in the ledger name it. The list above is the earliest first and stops at 6.

Presence across releases

0

The 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.

Feedback