SessionStart hooks can now be stopped early if the session becomes orphaned
The code that runs SessionStart hooks (which fire when a session begins or resumes) now checks for a new orphaned signal in addition to the existing abort signal. If either is triggered, the hook run stops early instead of continuing to wait.
This avoids waiting for hook results in a session that has already become orphaned, which is a change from the prior grace-period settling behavior that waited for pending async hooks to finish before continuing.
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.
The same wait applies at launch, including a resumed session: a prompt you send while SessionStart hooks are still running doesn't reach Claude until they finish.hooks see the edit
* Improved hook feedback: while a SessionStart, UserPromptSubmit, PreToolUse or SessionEnd hook runs, the spinner says so with elapsed time, and Esc cancels a prompt waiting on a SessionStart hookchangelog see the edit
Anthropic's documentation has since written up SessionStart, on Claude Code changelog.