What
A hook is a command you or a plugin set up to run automatically at certain moments. PreToolUse hooks run before a tool is used and can block it; PermissionRequest hooks run when a tool use needs a permission decision. This release changes how their answers combine:
PreToolUseandPermissionRequesthook decisions (allow, ask or deny) are now routed through atool.checkpath in a permission engine, and handlers can answer for the engine.- A plugin's
tool.checkdeny no longer always blocks. If the tool is not a protected one, the original check is recomputed, and if that would have asked you, you get an ask with arefusalattached instead. Before, the plugin's result was used directly. - An ask raised by a hook can now carry
hooksMayAllowandrefusal, and aPermissionRequesthook may now allow such an ask, under strict checks. Before, that hook could only deny. Headless and no-prompt runs, where nobody can answer, consult hooks before denying. - The prompt for a blocked browser action now sets
hooksMayAllowto false, next topersonOnlyanddefaultToNo, so hooks cannot approve it. - A new
hookAskFloorsetting keeps a hook's ask in place, and stops hook-approved automatic allowing, when asandboxOverrideapplies. - The auto mode decision record gains
skippedOnAllowRule. - The error log text now reads 'PermissionRequest hook failed before a hook's ask for', replacing 'PermissionRequest hook failed before an ask of a person for'.
Why
Hook and plugin authors should check their setups: a plugin deny may now show you a prompt instead of an outright block, and a PermissionRequest hook can now approve asks that other hooks raised. Some prompts, such as blocked browser actions, remain for a person only.
The entry above is what we published on the day. These lines were added later, as Anthropic's own pages caught up, and they sit beside the original rather than replacing it.
That precedence covers hooks in settings files and in a plugin's `hooks/hooks.json`. A [mod](https://code.claude.com/docs/en/plugins/mods/overview.md) you install that handles the [`tool.check`](https://code.claude.com/docs/en/plugins/mods…permissions see the edit
Anthropic's documentation has since written up tool.check, on Configure permissions.