Follow Discord
Sweep 22 Oct 2026 · 04:32Z Build v2.1.308 527 read Stable v2.1.308 Latest v2.1.308 Next v2.1.308 Feeds RSS JSON llms.txt llms-full.txt Unofficial

Claude Code v2.1.248 ·

Hook schema failures now print the exact field, a template, and which tool failed

A bad hook response now shows the exact failing field, the output and a template.

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

A hook whose JSON does not match the expected shape now gets a full diagnostic instead of a bare rejection: the specific failing field and message, the offending output, and targeted hints.

Details
  • Union errors are walked to the most specific branch; the first problem prints as path: message with remaining issues as a bulleted list.
  • A PermissionRequest decision gets the allow/deny shape appended; a legacy top-level decision gets an explanation of approve|block versus hookSpecificOutput.permissionDecision.
  • A companion helper prints a field-by-field template of every accepted output type: PreToolUse, PermissionRequest, UserPromptSubmit, PostToolUse, PostToolBatch, Stop and SubagentStop.
  • Failures are recorded per tool-use ID, capped at 8 entries, so the failing tool's name is prefixed in the status line.
  • No gate found; appears to apply to all hooks.
Evidence

Hook JSON output validation failed —

Strings lifted out of the shipped bundle, so the claim above can be checked against them.

See this entry in the whole of v2.1.248 →

Feedback