Follow Discord
Sweep 03 Nov 2026 · 22:27Z Build v2.1.318 536 read Stable v2.1.311 Latest v2.1.318 Next v2.1.318 Feeds RSS JSON llms.txt llms-full.txt Unofficial

Claude Code v2.1.317 ·

A hook that cannot run its program now reports a plain explanation

When a hook's command exits with code 126 or 127, Claude Code shows a short explanation in place of the hook's error output

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

A hook is a command you set up to run automatically at certain moments while Claude Code works. Every command ends with an exit code, a number that reports how it went. A shell uses 126 and 127 when it could not run a program, for example because the program is missing.

When a hook exits with 126 or 127, Claude Code now replaces the hook's error output with a message saying the exit code is a shell's code for a program it could not run and that the hook's error output is left out. This applies only when the hook carries a command label. Before, the hook's output and error output were passed on unchanged.

Why

This changes what both you and Claude see when a hook's command is missing or cannot be run.

See this entry in the whole of v2.1.317 →

Feedback