{"version":"2.1.304","anchor":"auto-mode-coderunningmcptools-setting","canonical_anchor":"auto-mode-coderunningmcptools-setting","heading":"SDK hosts can mark MCP tools that run code, so auto mode checks them","tier":"use","area":"SDK","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/auto-mode-coderunningmcptools-setting","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304","markdown":"### SDK hosts can mark MCP tools that run code, so auto mode checks them\n\nThe SDK initialize request accepts codeRunningMcpTools so auto mode judges code-running MCP tools, and the reply reports whether it applied\n\n**Unclear.** Exactly which permission rules are removed when tools are marked this way is not stated.\n\n**What**\n\nMCP tools are tools supplied by outside servers that Claude Code connects to. Programs that run Claude Code through the SDK, its programming interface, set it up with an initialize request. That request now accepts an internal field, `codeRunningMcpTools`:\n\n- It maps each MCP server name to a list of tool names on that server that run code Claude wrote.\n\n- Entries in the wrong shape are ignored with a warning. Valid entries cause Claude Code to rebuild its permission settings.\n\n- In auto mode, where Claude Code approves actions on its own, a checker now judges calls to these tools.\n\n- An allow answer from a `PermissionRequest` hook (a user command that decides on a permission question) no longer switches the permission mode for these tools.\n\n- The initialize reply now includes `code_running_mcp_tools_applied`, and `plugins_applied` falls back to the value resolved earlier.\n\n- The description of the `file_attachments` field adds a note about claude-code-server.\n\n**Why**\n\nAn MCP tool that runs code could otherwise slip past auto mode's checks. Hosts can now declare such tools so their calls are judged like other code execution.\n\n- Area: SDK\n- Tier: Use it now\n- Useful: 4\/5\n- Signal: 3\/5\n- Scope: individual\n- Heads-up: no"}