Follow Discord
Sweep 02 Oct 2026 · 18:55Z Build v2.1.288 509 read Stable v2.1.285 Latest v2.1.287 Next v2.1.288 Feeds RSS JSON llms.txt llms-full.txt Unofficial

Claude Code v2.1.287 ·

A Stop hook whose script can't be opened is reported once, not repeatedly

If a background Stop hook fails because its script can't be opened, Claude Code reports it once and ignores identical repeats

You'll notice Bug Fixes
JSON All of v2.1.287
You'll noticeTier: how much it should matter to you
2Useful: my rating, 1 to 5
1Signal: worth watching, 1 to 5
HooksArea: what it touches
Bug FixesKind: in v2.1.287,
Bug FixesSection of the release
What

A Stop hook is a command that runs when Claude finishes a turn. One set to run in the background with asyncRewake can wake Claude up again by exiting with code 2. If that exit happens because the hook's script file cannot be opened, Claude Code now recognises it as a broken hook rather than feedback. It sends one "hook could not run" message, explaining it is a broken installation and not feedback on Claude's work. Identical repeats are dropped and do not wake Claude.

Before, every exit with code 2 was passed to Claude as a Stop hook blocking error.

Why

A broken hook no longer keeps waking Claude over and over with the same error.

Read from
Names in the bundleasyncRewake
How sure we are
One source agreesOne thing we can check says the same as this entry.
Anthropic's release notes agreeFixed hooks configured with asyncRewake waking Claude over and over with "found issues" notifications when the hook's script file is…

See this entry in the whole of v2.1.287 →

Feedback