Follow Discord
Sweep 06 Nov 2026 · 01:32Z Build v2.1.319 537 read Stable v2.1.311 Latest v2.1.318 Next v2.1.319 Feeds RSS JSON llms.txt llms-full.txt Unofficial

tool.check

setting never mined JSON

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.

First seen — never in a mined build
Last seen — never in a mined build
Builds0 / 159on this box, as of v2.1.319
Written about v2.1.269 first named in a changelog, 11 Sep 2026

In the changelogs

17

Releases whose published page names tool.check.

  1. 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

  2. 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

  3. 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

  4. 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

  5. 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

  6. 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

  7. 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.check hook

    found in this entry's text, named in this entry

  8. v2.1.292
    Plugin tool.check and ui.scroll hooks now wait for pending work

    The 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

  9. 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

  10. v2.1.289
    Plugin tool.check hooks get an extra input when a PreToolUse hook asks for permission

    When 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

  11. 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

  12. v2.1.269
    New tool.check hook event wired into the tool-approval pipeline

    New 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

  13. 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

  14. 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

  15. 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

  16. 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

  17. 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

4

The 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.

ReleaseDateThe span that was quoted
v2.1.26911 Sep 2026"tool.check": (e) => e,
v2.1.26911 Sep 2026"tool.check": Gc,
v2.1.26911 Sep 2026hookName: "tool.check"
v2.1.29914 Oct 2026"tool.check": (e) => ({ decision: "deny", reason: e })

Presence across releases

0

The 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.

Feedback