tool.check
A Claude Code settings key, read out of the shipped bundle. No mined inventory carries it: everything below comes from what this site has written about it.
Plugin hooks can now react to tool-call dry-runs, config changes, and session attach/detach events.
Not Anthropic's. This is the line from the earliest changelog entry here that named it, v2.1.269.
In the changelogs
17Releases whose published page names tool.check.
-
v2.1.309
Built-in Claude Test plugin can do more, with tighter rules for its explorer
The bundled Claude Test plugin now handles the tool.call hook and more host calls, and its explorer is told to stay away from credential files
found in this entry's text
-
v2.1.307
A plugin's tool block can now turn into a permission prompt
When a plugin's tool.check blocks an unprotected tool that would otherwise have needed approval, you now get a prompt with the plugin's reason
named in this entry, found in this entry's text
-
v2.1.307
Hook decisions on tool use now go through a central permission check
Allow, ask and deny decisions from PreToolUse and PermissionRequest hooks now pass through a central permission check that handlers can answer
named in this entry, found in this entry's text
-
v2.1.301
Permission decisions made by hooks now record which hook made them
When a hook allows or blocks a tool, Claude Code now records the hook's event, where the hook came from and, for plugins, the plugin's ID
found in this entry's text
-
v2.1.299
Plugins gain entries for logging and environment variables
The plugin runtime's list next to tool.register and tool.list now also includes ui.log, env.get and env.set
found in this entry's text
-
v2.1.299
Plugin hook denials now carry a reason
Default deny responses for plugin hooks such as tool.check and agent.spawn now include a reason alongside the decision
found in this entry's text, named in this entry
-
v2.1.292
Plugin checks can no longer approve tools that need your input
When a tool needs you to interact with it, Claude Code's own permission decision now overrides a plugin's
tool.checkhookfound in this entry's text, named in this entry
-
v2.1.292
Plugin
tool.checkandui.scrollhooks now wait for pending workThe tool.check and ui.scroll plugin hooks now wait for pending work to finish before running
found in this entry's text, named in this entry
-
v2.1.289
Permission decisions can now record which hook made them
Records of permission decisions can now name the hook that decided, and rules are found inside nested parts of compound commands
found in this entry's text
-
v2.1.289
Plugin
tool.checkhooks get an extra input when a PreToolUse hook asks for permissionWhen a PreToolUse hook has asked for permission, plugin tool checks are now built with that hook's ask passed in as an extra input
named in this entry, found in this entry's text
-
v2.1.269
Plugin hooks engine gains new event types: tool.check, config.set, config.describe, session.attach, session.detach, plugin.register
Plugin hooks can now react to tool-call dry-runs, config changes, and session attach/detach events.
found in this entry's text, named in this entry
-
v2.1.269
New
tool.checkhook event wired into the tool-approval pipelineNew tool.check hook can override a hook's earlier 'deny' decision on a tool call
found in this entry's text, named in this entry
-
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
found in this entry's text, named in this entry
-
v2.1.269
New internal plugin/hook lifecycle events added
Five new internal plugin/hook lifecycle events were added: tool.check, config.set, config.describe, session.attach, session.detach
found in this entry's text, named in this entry
-
v2.1.269
New plugin hook events: session.attach, session.detach, tool.check
Plugins can now hook into session attach/detach and tool permission checks
found in this entry's text, named in this entry
-
v2.1.269
New tool/config SDK operations pass through unmodified
SDK gains tool.check, config.set, and config.describe pass-through operations
found in this entry's text
-
v2.1.269
New telemetry/event identifiers added
Several new internal event and telemetry names have been registered
found in this entry's text
First cited
4The earliest release whose published evidence quoted tool.check was v2.1.269, 11 Sep 2026. That is the oldest release this project wrote about it, so it is a floor on the name's age and not the release that introduced it. It is not a presence reading: which builds carried the name is the table below.
Presence across releases
0The miner has never read a build containing this name. It is here because a changelog entry of ours names it, which is evidence that it existed and not evidence of which releases carried it. The inventory starts at v2.1.138 and everything older than that was never mined.
Read out of the published npm bundle release by release, and out of Anthropic's own documentation as this site captured it. Nothing on this page is a description anybody here wrote about what the settings key does. All settings keys.