Under the hoodTier: how much it should matter to you
2Useful: my rating, 1 to 5
2Signal: worth watching, 1 to 5
HooksArea: what it touches
Internal ChangesKind: in v2.1.301,
Internal ChangesSection of the release
What
A hook is a script or command you set up to run automatically at certain points. A PreToolUse hook runs before a tool call, which is a request by Claude to use a tool such as editing a file, and it can block that call.
When Claude Code reads the result of a PreToolUse hook, it now picks out the ID of the plugin the hook came from and keeps it separate, instead of passing it along mixed in with the rest of the result.
Why
This lets Claude Code tell which plugin a hook belongs to.
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.
Added sinceA small documentation edit on Hooks reference touched a line naming PreToolUse after this was published.An [Agent SDK callback hook](/docs/en/agent-sdk/hooks) on `PreToolUse` that exceeds its timeout blocks the tool call, and Claude receives an error result naming the timeout.hookssee the edit
Confirmed sinceAnthropic's documentation has since written up PreToolUse, on MCP, plugins, skills, and hooks.A [`PreToolUse`](https://code.claude.com/docs/en/hooks#pretooluse) hook that runs this way and has no `onFailure` field blocks the tool call when it fails or times out. The hook error that Claude receives includes `blocking because Git Bas…third-party/claude-desktop/extensionssee 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 PreToolUse, on MCP, plugins, skills, and hooks.