Files
coder/docs/ai-coder
Nick Vigilante 06c0d3918a 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

<details><summary>Analysis evidence</summary>

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

</details>

Generated by Coder Agents on behalf of @nickvigilante.
2026-08-25 19:02:35 +00:00
..