You'll noticeTier: how much it should matter to you
1Useful: my rating, 1 to 5
2Signal: worth watching, 1 to 5
HooksArea: what it touches
ImprovementsKind: in v2.1.300,
ImprovementsSection of the release
What
A hook is a command that you, a plugin or a settings file set up to run at set moments. A PostToolUse hook runs after a tool call succeeds. A tool call is one action Claude takes, such as reading a file or running a command.
Some PostToolUse hooks run in a different environment from Claude Code itself, such as on another machine. If such a hook replaces the result of a tool call that runs in this Claude Code process, the replacement is now dropped. A system message tells Claude that it read the original result, unchanged. A hook may still change a tool's result when the hook and the call run in the same environment.
A separate new message refuses a changed tool input from plugin hooks and from settings hooks. Before, Claude Code only refused hooks that rewrote a tool call's input.
Why
This tightens a security boundary for hooks that run elsewhere. A hook running outside this process can no longer quietly change what Claude sees as a tool's output.
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.
Confirmed sinceAnthropic's documentation has since written up PostToolUse, on Intercept and control agent behavior with hooks.| `PostToolUse` | Yes | Yes | Tool execution result | Log file changes to an audit trail |agent-sdk/hookssee 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 PostToolUse, on Intercept and control agent behavior with hooks.