Follow Discord
Sweep 22 Sep 2026 · 17:19Z Build v2.1.280 501 read Stable v2.1.267 Latest v2.1.280 Next v2.1.280 Feeds RSS JSON llms.txt Unofficial
Claude Code v2.1.269 ·

tool.check hook denials now re-enter the deny/ask pipeline instead of hard-stopping

A denial from a tool.check hook now runs back through the normal deny/ask approval flow instead of stopping immediately

TierYou'll noticehow much it should matter to you
Useful2my rating, 1 to 5
Signal2worth watching, 1 to 5
AreaPlugin Hookswhat it touches
KindBug Fixesin v2.1.269,
You'll notice No documentation found

A denial from a tool.check hook now runs back through the normal deny/ask approval flow instead of stopping immediately

What

When a tool.check hook (a script that can approve or block a tool call before it runs) denies a tool call, Claude Code no longer just accepts that denial and stops. It now sends the result back through a handler that re-applies any deny-rule overrides, and if the hook's verdict is "ask" rather than a flat denial, it still routes the request through the normal interactive approval flow so you can approve or reject it yourself.

Why

This ensures a hook's "ask" verdict actually reaches you for a decision instead of silently being treated as a hard stop, and keeps deny-rule handling consistent regardless of whether a denial came from a hook or elsewhere.

Read from
Names in the bundletool.check

See this entry in the whole of v2.1.269 →

Feedback