{"version":"2.1.323","anchor":"mcp-tool-hook-records-which-server-ran-it-and-re-checks-the","canonical_anchor":"mcp-tool-hook-records-which-server-ran-it-and-re-checks-the","heading":"mcp_tool hooks refuse more MCP servers and report which server ran","tier":"notice","area":"Hooks","scope":"individual","heads_up":true,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.323\/e\/mcp-tool-hook-records-which-server-ran-it-and-re-checks-the","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.323","markdown":"### mcp_tool hooks refuse more MCP servers and report which server ran\n\nHooks can no longer call MCP servers another session might have triggered or, in the cloud, servers that act on your computer, and results now name the server\n\n**Unclear.** What the added checks refuse is not stated, so it is unclear which existing `mcp_tool` hooks might stop running.\n\n**What**\n\nA hook is a command you configure to run automatically at certain points in Claude Code. An `mcp_tool` hook calls a tool on an MCP server, which is an add-on program that gives Claude Code extra tools. These hooks now face more checks before they are allowed to run:\n\n- A hook may not call a server when a subagent (a helper agent Claude starts for a sub-task) or a background session might have set the hook off.\n\n- In a cloud session, a hook may not call a server that acts on your own computer or browser.\n\n- The checks run both before the call and again after the server reconnects. Before, there were three refusal checks.\n\n- When a hook is refused, it reports messages such as \"Hooks can't call MCP server\" and \"MCP tool hook not run\".\n\n- The hook result now includes a `ranOn` field naming the server the call ran on, and the call is registered with a server label.\n\n**Why**\n\nThis narrows which MCP servers hooks may reach, so an existing `mcp_tool` hook setup that used to work may now be refused. The new `ranOn` field shows which server actually handled each call.\n\n- Area: Hooks\n- Names: `mcp_tool`\n- Tier: You'll notice\n- Useful: 2\/5\n- Signal: 2\/5\n- Scope: individual\n- Heads-up: yes"}