Follow Discord
Sweep 08 Oct 2026 · 18:53Z Build v2.1.295 516 read Stable v2.1.286 Latest v2.1.295 Next v2.1.295 Feeds RSS JSON llms.txt llms-full.txt Unofficial

Claude Code v2.1.293 ·

Hooks running away from the tool can no longer rewrite its input or result

Hooks that ran somewhere other than the tool can no longer change its input or result: input changes become a denial, result changes are dropped

You'll notice Improvements
JSON All of v2.1.293
You'll noticeTier: how much it should matter to you
2Useful: my rating, 1 to 5
4Signal: worth watching, 1 to 5
HooksArea: what it touches
ImprovementsKind: in v2.1.293,
What probably matters to youSection of the release
What

Hooks are your own scripts or plugin scripts that Claude Code runs at set points, such as just before or after it uses a tool. A tool is an action Claude takes, like running a command or editing a file. Claude Code now strips some decisions from hooks that did not run in the same place as the tool they are answering for:

  • A PreToolUse hook that tries to change the tool's input now causes the tool call to be denied.
  • A PostToolUse hook that tries to replace the tool's result with updatedToolOutput is ignored, and the original result stands.

In both cases Claude is told what happened with a fixed message, and a warning is logged.

Claude Code also now sorts each hook's answer into kinds, such as rewriting input, replacing a result, updating permissions, answering as the person, or stopping, and reports which kind it was.

Why

If you use plugin or remote hooks that rewrite tool inputs or results, they will no longer do so for tools that run somewhere else. Input rewrites in that situation now block the tool call instead.

See this entry in the whole of v2.1.293 →

Feedback