Fetching from the wire…
Public story · 2026-07-18 · high
A hook could exit code 2, report failure, and still let the tool run if its JSON failed schema validation, per Claude Code's changelog.
Why now: The fix appears in v2.1.214, the version documented in Claude Code's changelog as of July 18, 2026.
Claude Code hooks could exit code 2, report a block, and still let the tool run anyway if the hook's JSON failed schema validation, per the changelog.
That's the guardrail working backwards. You write a hook to stop something. The hook does its job and reports failure. The tool runs anyway, because a formatting problem in its output never reached you.
Version 2.1.214 fixes it. The same release also fixes a separate bug from v2.1.212, where continue:false halts got dropped if a tool failed or completed mid-stream. Two different mechanisms for stopping execution, both quietly broken before this fix.
If you've built hooks as a safety layer, a lint check, a policy gate, a cost limiter, test them against a deliberately malformed payload. Clean JSON alone won't tell you whether the block actually holds. A hook you've never watched fail is a hook you don't actually know works.
A related item in the same release notes covers a separate permission-bypass sweep, including a directory wildcard rule that auto-approved writes across the whole tree. Worth checking whether any of your own hook or permission configs assumed enforcement that was, until this release, optional.
Each link below shares sources, entities, or timing with this story.
Same source / Semantically similar
Cite the same source (Claude Code Changelog); covers closely related ground (similarity 0.71).
Cite the same source (Claude Code Changelog); covers closely related ground (similarity 0.70).
Cite the same source (Claude Code Changelog); covers closely related ground (similarity 0.69).
Same source
Cite the same source (Claude Code Changelog).
Cite the same source (Claude Code Changelog).
Cite the same source (Claude Code Changelog).
Cite the same source (Claude Code Changelog).
Cite the same source (Claude Code Changelog).