What
Hooks are your own scripts or commands that Claude Code runs at set moments, such as when Claude stops or before a tool runs. Claude Code reads what a hook prints to decide what to do next. It now checks whether the hook's stdio (the input and output streams it uses to talk to Claude Code) closed before the end of the stream:
- A hook's output is no longer read as a clean verdict if its stdio closed before end-of-stream. Part of the output may have been lost, and Claude Code says it is "refusing to read the partial capture as a verdict". This matters most for hooks that grant permissions or add context to the conversation.
- The check that decides a Stop hook or similar hook's script is missing no longer fires when stdio was incomplete or closed without an end (
stdioClosedWithoutEnd). Before, it looked only at empty normal output and a "no such file" or "can't open" message in the error output.
Why
A cut-off answer from a hook can no longer be mistaken for a permission decision. You should also see fewer false reports that a hook's script is missing.