Plan mode silently exits / auto mode overrides "plan carefully" requests on follow-up work

Resolved 💬 4 comments Opened Apr 25, 2026 by tarekbadrsh Closed May 29, 2026

Summary

Two related plan-mode quirks observed in Claude Code:

  1. After an initial ExitPlanMode is approved, subsequent rounds of work that the user explicitly asks to be planned (e.g. "please plan carefully before implementing") do not cause Claude to re-enter plan mode. Auto mode's "execute immediately" guidance silently wins, and Claude starts editing files in the same turn it writes a brief inline plan. There is no second ExitPlanMode checkpoint.
  1. The Claude Code UI plan-mode indicator can show "plan mode active" to the user while the system reminders the assistant receives do not include the Plan mode is active reminder. From the assistant's side it looks like auto mode; from the user's side it looks like plan mode. The two states are out of sync.

Repro (approx.)

  1. Enter plan mode, build a plan, get it approved via ExitPlanMode.
  2. Auto mode becomes active.
  3. Later in the same session, the user asks for a fresh round of work and explicitly writes something like "please read the code again and plan carefully before implementing".
  4. Claude writes a few sentences of plan in chat, then immediately calls Edit / Bash etc. — no ExitPlanMode round-trip.
  5. Separately, the user reports their UI shows plan mode is on, but the assistant has been making edits without complaint.

Expected

  • When a user explicitly says "plan carefully" / "let's plan this" / similar after an earlier plan was approved, Claude should treat it as a new planning round and present via ExitPlanMode for fresh approval — even if auto mode is active.
  • The plan-mode indicator visible to the user should be authoritative; if it's on, the assistant should know about it via system reminders.

Actual

  • Inline plan + immediate execution in the same turn.
  • UI / assistant state mismatch around plan mode.

Environment

  • Claude Code, model claude-opus-4-7[1m]
  • macOS Darwin 25.4.0, zsh

View original on GitHub ↗

This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗