Follow Discord
Sweep 25 Sep 2026 · 19:33Z Build v2.1.283 504 read Stable v2.1.274 Latest v2.1.283 Next v2.1.283 Feeds RSS JSON llms.txt llms-full.txt Unofficial

Claude Code v2.1.281 ·

Pre-warmed spare sessions stay idle and skip SessionEnd hooks

Pre-started spare Claude Code processes now refuse most control requests while waiting and no longer run SessionEnd hooks

Group of 2 Under the hood Internal Changes
JSON All of v2.1.281
Under the hoodTier: how much it should matter to you
1Useful: my rating, 1 to 5
2Signal: worth watching, 1 to 5
SDKArea: what it touches
Internal ChangesKind: in v2.1.281,
Internal ChangesSection of the release

What

Claude Code can start a spare process in the background ahead of time, ready to become a session when one is needed. While a spare is parked (waiting), claiming (being taken for a session) or failed, it now behaves differently:

  • A parked spare records spare_parked before it reads any input.
  • Control requests, the instructions a program sends to a running Claude Code, are refused with an error unless they are of a permitted kind.
  • After start-up, a parked spare skips the step that sets up the terminal host, and it tracks idle time for when input arrives.
  • When the process shuts down, it does not run your SessionEnd hooks. Before, these hooks always ran at this point. A hook is a script you configure to run at set points, and SessionEnd runs when a session ends.

Why

A spare that never became a real session no longer runs your SessionEnd hooks, so those scripts do not fire for sessions you never opened. Refusing most requests while it waits keeps a spare idle until it is actually claimed.

How sure we are
Something disagreesSomething we can check disagrees with this entry, or the writer said they could not settle it.
The writer flagged doubtThe finding does not say how spare sessions are started or claimed, or which control requests are allowed.

See this entry in the whole of v2.1.281 →

Feedback