From 06c0d3918a2b2f8ae0431e9ca1ce0010dce767fd Mon Sep 17 00:00:00 2001 From: Nick Vigilante Date: Tue, 25 Aug 2026 15:02:35 -0400 Subject: [PATCH] docs: correct plan mode MCP tool availability (#28569) `docs/ai-coder/agents/index.md` claimed that MCP tools are blocked in plan mode. Root plan-mode chats actually receive external MCP tools for each server configuration an administrator approved for plan mode; only workspace MCP tools and plan-mode sub-agents get none. Corrects the plan-mode tool-availability wording in both places it appears in `index.md` so it matches `docs/ai-coder/agents/architecture.md` and the implementation. The tool table and attachment wording are out of scope here. Linear: DOCS-724 https://linear.app/codercom/issue/DOCS-724
Analysis evidence `coderd/x/chatd/chatd.go`, `filterExternalMCPConfigsForTurn`: in plan mode, a chat with a parent gets no external MCP configs ("Plan-mode subagents do not receive external MCP tools"); a root chat keeps every config whose `AllowInPlanMode` flag is set and returns those IDs as approved. `coderd/x/chatd/generation_preparer.go`: the returned `approvedPlanMCPConfigIDs` flows into `filterToolsForTurn` and `activeToolNamesForTurn`, so approved external MCP tools remain exposed for the turn. `coderd/x/chatd/chatd.go`, `toolAllowedForTurn`: in plan mode a tool passes only if it is on the built-in plan allowlist or is an MCP tool whose `MCPServerConfigID()` is in the approved set. Workspace MCP tools are not in the external config set, so they stay unavailable. `docs/ai-coder/agents/architecture.md` already documents this behavior; `index.md` now uses the same framing.
Generated by Coder Agents on behalf of @nickvigilante. --- docs/ai-coder/agents/index.md | 30 ++++++++++++------------------ 1 file changed, 12 insertions(+), 18 deletions(-) diff --git a/docs/ai-coder/agents/index.md b/docs/ai-coder/agents/index.md index 1b9fb27600d..ae22e6fc780 100644 --- a/docs/ai-coder/agents/index.md +++ b/docs/ai-coder/agents/index.md @@ -276,12 +276,10 @@ enabled by an administrator. `read_skill` and `read_skill_file` are available when the workspace contains skills in its `.agents/skills/` directory. -`propose_plan` and `ask_user_question` are only available while plan mode is -active. In plan mode, the agent can still inspect the workspace and template -metadata, execute shell commands for exploration, and read process output. -`write_file` and `edit_files` remain available only for the chat-specific plan -file under `.coder/plans/`. MCP, dynamic, provider-native, and computer-use -tools are blocked. +`propose_plan` and `ask_user_question` are only available while plan mode is active. +In plan mode, the agent can still inspect the workspace and template metadata, execute shell commands for exploration, and read process output. +`write_file` and `edit_files` remain available only for the chat-specific plan file under `.coder/plans/`. +Workspace MCP tools are unavailable in plan mode, and plan-mode sub-agents receive no MCP tools. ## Plan mode @@ -294,18 +292,14 @@ current setting. While plan mode is active: -- the agent can inspect repository files, workspace state, and available - templates -- `write_file` and `edit_files` can only modify the chat-specific plan file - under `.coder/plans/` -- `ask_user_question` can gather structured clarification from the user before - a plan is proposed -- `propose_plan` snapshots the current plan file into the transcript so you can - review it before implementation starts -- `execute` and `process_output` remain available for exploration, such as - cloning repositories, searching code, and running inspection commands -- MCP tools, dynamic tools, provider-native tools, and computer-use tools are - not available +- The agent can inspect repository files, workspace state, and available templates. +- `write_file` and `edit_files` can only modify the chat-specific plan file under `.coder/plans/`. +- `ask_user_question` can gather structured clarification from the user before a plan is proposed. +- `propose_plan` snapshots the current plan file into the transcript so you can review it before implementation starts. +- `execute` and `process_output` remain available for exploration, such as cloning repositories, searching code, and running inspection commands. +- External MCP tools are available to root chats only for the server configurations an administrator approved for plan mode; workspace MCP tools and MCP tools for plan-mode sub-agents are not available. +- Dynamic tools, provider-native tools, and computer-use tools are not available. +- Root plan-mode chats can also use external MCP tools that an administrator approved for plan mode. This keeps planning turns focused on analysis and plan authoring rather than implementation. Once you click **Implement plan**, the next turn runs in normal