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_parkedbefore 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
SessionEndhooks. Before, these hooks always ran at this point. A hook is a script you configure to run at set points, andSessionEndruns 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.
Something disagreesSomething we can check disagrees with this entry, or the writer said they could not settle it.
The writer flagged doubt
The finding does not say how spare sessions are started or claimed, or which control requests are allowed.