What
The tool.check and ui.scroll plugin hooks are points where a plugin can step in when a tool is checked or when the view scrolls. Before running them, Claude Code now looks for pending work tied to the current task. If there is some, it waits for it to finish and then runs the hook. Before, the hooks ran straight away.
Why
This changes the order in which plugin hooks run, probably around plugins loading or reloading.
Names in the bundletool.checkui.scroll
Documented inclaude-code/plugins/mods/reference
tool.check
Claude Code changelog modified, high confidence
* Added `agentId` to the `tool.check` event of plugin hooks, so a hook can tell a subagent's permission check from the main session'ssee the edit
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.
Added since
A small documentation edit on React to events with a mod touched a line naming tool.check after this was published.
To see the tool calls that the API ran itself during the request, such as calls to the [advisor tool](/docs/en/advisor), read `result.serverToolUses`. Claude Code doesn't run these calls, so no `tool.call` or `tool.check` hook fires for th…plugins/mods/events see the edit
Confirmed since
Anthropic's documentation has since written up tool.check, on React to events with a mod.
At `tool.check` and `plugin.register`, a refusal returned after `next` resolved still holds, so return it without testing `next.called`:plugins/mods/events see the edit
Two sources agreeTwo things we can check say the same as this entry.
Anthropic's documentation agrees
tool.check on Claude Code changelog
Anthropic's release notes agree
Fixed a plugin's tool.check hook answering allow running a tool that requires your answer (a question, a plan approval) without showing its…