What probably matters to youSection of the release
What
A hook is a command of your own that Claude Code runs at set moments. When a tool call (an action Claude wants to take) would stop to ask for your permission, Claude Code can now run your PermissionRequest hooks first, when hooks are allowed to refuse. If a hook denies the call, the question becomes a refusal, and the hook can also ask to interrupt Claude. This step is skipped for remote execution and served calls.
The message shown when a hook asks for a prompt that is not shown now says "a hook" rather than naming a PreToolUse hook.
Why
A hook can now stop a permission prompt before it reaches you, so a blocked action never needs your attention.