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

Claude Code v2.1.236 ·

Hooks and Ctrl-C go quiet once shutdown has started

Once you quit, hooks stop firing except SessionEnd and Ctrl-C no longer aborts the request.

You'll notice Improvements
JSON All of v2.1.236
You'll noticeTier: how much it should matter to you
3Useful: my rating, 1 to 5
2Signal: worth watching, 1 to 5
HooksArea: what it touches
ImprovementsKind: in v2.1.236,
ImprovementsSection of the release
What

After shutdown is committed, every hook event other than SessionEnd stops running, and pressing Ctrl-C no longer aborts the in-flight request. Your PostToolUse and other hooks will not fire during an exiting session.

Details
  • A commit latch is set by the synchronous shutdown path; hook dispatch then waits on a promise that never resolves, both before dispatching and before returning results.
  • SessionEnd is the sole exception, so end-of-session hooks still run.
  • The REPL interrupt handler becomes a no-op for the duration, so Ctrl-C during shutdown does nothing rather than cancelling.
Evidence

hookEventName: wt("PostToolUse")

Strings lifted out of the shipped bundle, so the claim above can be checked against them.

Read from
Names in the bundleSessionEnd
Since it was published

The entry above is what we published on the day. These lines were added later, as Anthropic's own pages caught up, and they sit beside the original rather than replacing it.

Added since A small documentation edit on Environment variables touched a line naming SessionEnd after this was published. | `CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS` | Override the time budget in milliseconds for [SessionEnd](/docs/en/hooks#sessionend) hooks. The value is also the timeout for each hook that sets no `timeout` of its own. Applies to session exi… env-vars see the edit
Confirmed since Anthropic's documentation has since written up SessionEnd, on List Events. - `stop_reason: BetaManagedAgentsSessionEndTurn or BetaManagedAgentsSessionRequiresAction or BetaManagedAgentsSessionRetriesExhausted or BetaManagedAgentsSessionBudgetReached` api/beta/sessions/events/list see the edit
How sure we are
One source agreesOne thing we can check says the same as this entry.
Anthropic's documentation agreesAnthropic's documentation has since written up SessionEnd, on List Events.

See this entry in the whole of v2.1.236 →

Feedback