← All Daily

Daily⁠ · ⁠ · Claude Code · BackfilledAdded after launch from the official source.⁠ · 🌶️Mild: nice to know Why: Opt-in setting

Claude Code hooks can now fail safe

A broken safety hook no longer waves the action through. The latest Claude Code release adds onFailure: "block" for command and HTTP hooks: a hook that can’t start, times out or exits with an unexpected code now blocks the action.

In plain English

A safety check that crashes should stop the action, not quietly let it through.

Hooks are small scripts or web calls that Claude Code runs at set moments, for example before a tool runs. Until now, a hook that failed to run did not stop anything. With the latest release you can add onFailure: "block" to a command or HTTP hook.

Then a hook that can’t start, times out or exits with an unexpected code blocks the action instead.

Also in this release

  • Terminals that support the Program Status Protocol (OSC 7501) can show whether Claude Code is working, waiting on you or done.
  • CLAUDE_CODE_RETRY_WATCHDOG_MAX_WAIT_MS limits how long unattended retry mode waits out 429 and 529 errors.
  • claude plugin install, enable, disable and marketplace add warn you when the settings file they write to does not load.

What to do

Add onFailure: "block" to the hooks you rely on for safety, and update Claude Code to 2.1.295 or later.

Source: Claude Code v2.1.295 release notes