{"version":"2.1.283","anchor":"mcp-tool-hooks-cannot-call-withheld-tools-on-the-account-mem","canonical_anchor":"mcp-tool-hooks-cannot-call-withheld-tools-on-the-account-mem","heading":"Hooks can no longer call account memory tools the session itself cannot use","tier":"notice","area":"Hooks","url":"https:\/\/changelogs.core-directive.com\/v\/2.1.283\/e\/mcp-tool-hooks-cannot-call-withheld-tools-on-the-account-mem","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.283","markdown":"### Hooks can no longer call account memory tools the session itself cannot use\n\nAn `mcp_tool` hook aimed at the account memory server is now refused when that tool is not available in the current session's mode\n\n**Unclear.** Which session modes make which memory tools unavailable is not stated.\n\n**What**\n\nA hook is a command or action you configure to run automatically at set points while Claude Code works. An `mcp_tool` hook calls a tool on an MCP server, which is an outside service connected to Claude Code through the Model Context Protocol.\n\nWhen an `mcp_tool` hook targets a tool on the account memory server, Claude Code now checks whether that tool is available in the current session's mode. If it is not, the hook is refused and its result is an error marked `withheld: true`, with a message saying the tool is not available to a hook in this session. When the call is allowed, it is sent with a `_meta` marker set to \"worker\". `_meta` is a block of extra information attached to MCP requests.\n\nBefore, hooks could call any tool on any connected server without this check.\n\n**Why**\n\nThis closes a way for hooks to reach memory tools that the session itself is not allowed to use. If you have a hook that calls the account memory server, it may now return this error in some session modes.\n\n- Area: Hooks\n- Names: `mcp_tool`\n- Tier: You'll notice\n- Useful: 1\/5\n- Signal: 2\/5"}