Regression (~v2.1.207–2.1.211): --permission-mode plan sessions no longer show the plan-approval dialog — ExitPlanMode degrades to a bare yes/no tool prompt and the session drops to manual mode

Status Closed — not planned
Reported on v2.1.211
Maintainer reply None cached
Activity 1 comment · opened Jul 19, 2026 · closed Jul 19, 2026

Draft upstream issue — anthropics/claude-code

Title: Regression (~v2.1.207–2.1.211): --permission-mode plan sessions no longer show the plan-approval dialog — ExitPlanMode degrades to a bare yes/no tool prompt, session drops to manual mode

Description

Sessions launched with claude --permission-mode plan "<prompt>" used to present the full
plan-approval dialog when the model called ExitPlanMode — the four options ("Yes, and use
auto mode" / "Yes, manually approve edits" / "No, refine with Ultraplan…" / "No, keep
planning"), with the plan saved to ~/.claude/plans/ and the chosen option setting the
post-plan permission mode.

After upgrading v2.1.206 → v2.1.211, the same launch path now renders only a minimal
tool-permission prompt — "Claude wants to exit plan mode" with bare yes/no. Approving:

  • selects no post-plan mode → the session drops to manual (default) mode,
  • saves no plan file to ~/.claude/plans/.

This breaks the plan-gated dispatch pattern (launch in plan mode → review plan → approve
straight into auto mode): the operator must now Shift+Tab every session back to auto after
every approval, and the "use auto mode" choice is simply unavailable at the moment it matters.

Evidence (transcript-level, same dispatch script both days)

  • v2.1.206 (2026-07-18) — ExitPlanMode tool_result:

"User has approved your plan. You can now start coding. … Your plan has been saved to: ~/.claude/plans/implement-….md"

  • v2.1.211 (2026-07-19) — ExitPlanMode tool_result:

"User has approved exiting plan mode. You can now proceed."

Both sessions were launched by the identical wrapper:
cd <worktree> && claude --permission-mode plan -n <name> "$(cat kickoff.md)"

Repro

  1. claude --permission-mode plan "plan a trivial change to README, then exit plan mode"
  2. Let the model present its plan and call ExitPlanMode.
  3. Observe: bare "Claude wants to exit plan mode" yes/no instead of the plan-approval dialog;

approve → session is in default (manual) mode; no file in ~/.claude/plans/.

Environment

  • Claude Code v2.1.211, macOS (darwin 25.5), iTerm2 panes, Max subscription.
  • Auto mode available and default (permissions.defaultMode: "auto" in ~/.claude/settings.json);

models opusplan (Opus 4.8 / Sonnet 5) — auto-mode-eligible.

  • Last-known-good: v2.1.206. Suspect window includes the v2.1.207 auto-mode

availability-detection change (removal of CLAUDE_CODE_ENABLE_AUTO_MODE).

Expected

--permission-mode plan sessions present the full plan-approval dialog with post-plan mode
options (as on ≤2.1.206), or at minimum an equivalent way to select the post-plan permission
mode at approval time.

Prior-art search (2026-07-19)

No existing open or recently-closed issue matches this regression. Nearest related (all
different failure modes): #75783 (VS Code: "Yes, and auto-accept edits" enters acceptEdits
instead of Auto — option-mapping mismatch, options still present), #74256 (PermissionRequest
hook "allow" for ExitPlanMode ignored since v2.1.199 — hook bypass, dialog intact), #77007
(VS Code hides assistant text on plan-approval card), #66330 (auto+plan interaction UX,
closed 2026-07-15).

Suspect changelog entries (v2.1.207, verbatim)

  • "Changed auto mode to no longer read autoMode from .claude/settings.local.json

(repo-resident); use ~/.claude/settings.json instead"

  • "Auto mode is now available without CLAUDE_CODE_ENABLE_AUTO_MODE opt-in on Bedrock,

Vertex AI, and Foundry; disable via disableAutoMode in settings"

If the plan-approval dialog's "use auto mode" option renders conditionally on auto-mode
availability detection, and that detection's settings-scoping changed here, the dialog would
degrade silently with no dialog-specific changelog entry — matching what we observe. (In this
environment auto mode is configured in the correct scope: permissions.defaultMode: "auto"
in ~/.claude/settings.json; sessions do start in auto mode, so plain availability is not
absent — the degradation is specific to the plan-approval surface.)

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗