Hooks can now cancel a tool call while its permission prompt is still waiting for you to respond
A hook is custom code that runs automatically at certain points in Claude Code, such as before a tool is used. Previously, once a tool call reached its permission prompt (the dialog asking you to approve or deny a tool), a hook could not stop it mid-flight. Now, while that permission prompt is waiting, Claude Code races the tool call against the hook's own decision. If the hook finishes first with an outcome, the tool call is aborted and the hook's decision, including any interrupt, is used instead, with a log message noting which tool and hook caused the interrupt.
This lets hooks reliably cancel a tool call that's sitting at a permission prompt, rather than only being able to act before or after that point.