ExitPlanMode generates plan that contradicts conversation agreement
Resolved 💬 2 comments Opened Jan 26, 2026 by blurphanatic Closed Feb 28, 2026
Summary
When using ExitPlanMode to exit plan mode, the generated plan document contained a fix strategy that directly contradicted what was actually agreed in the planning conversation.
What happened
- During planning, I identified that MCP servers were already running as persistent processes
- I explained the "2+ minute startup delay" comment was incorrect/outdated
- User agreed to simply re-enable MCP by uncommenting
--mcp-config - I called ExitPlanMode
The generated plan document included:
## Fix Strategy: Replace MCP Tools with Bash Scripts
**Rationale**: Re-enabling MCP would add 2+ minutes of startup latency per request.
Instead, we should replace MCP tool references with direct Bash commands...
This is the opposite of what was agreed. The actual agreement was to RE-ENABLE MCP, not replace it with Bash scripts.
Impact
- Trust violation - The plan document is supposed to be the source of truth for implementation
- Wasted effort - In a follow-up session, the agent started implementing Bash script wrappers before the user caught the mistake
- Silent failure - The plan reads confidently and coherently, just... backwards from reality
- Dangerous for autonomous workflows - If using plan mode to hand off work between sessions or to other agents, this could cause significant damage
Expected behavior
ExitPlanMode should accurately reflect the conversation's conclusions, not contain contradictory information. If there's ambiguity, it should flag it rather than hallucinate a different strategy.
Reproduction
- Have a planning conversation that changes direction mid-way (e.g., start with approach A, discover it's wrong, agree on approach B)
- Call ExitPlanMode
- Check if the generated plan reflects the final agreement (approach B) or the earlier discarded approach (approach A)
Environment
- Claude Code version: 2.1.19
- macOS
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗