ExitPlanMode lifts enforcement but VS Code UI still shows plan mode as active

Resolved 💬 1 comment Opened Apr 15, 2026 by tilly-gdf Closed May 25, 2026

Description

When ExitPlanMode is called during a plan mode session in the VS Code extension, the backend enforcement is lifted (the system confirms "You have exited plan mode. You can now make edits, run tools, and take actions.") and the assistant proceeds to execute tools — but the VS Code UI still shows plan mode as active. The user has no visual indication that plan mode was lifted.

Reproduction steps

  1. Open Claude Code in VS Code extension
  2. Enter plan mode (toggle or /plan)
  3. Have the assistant build a plan and call ExitPlanMode
  4. Observe: the system confirms plan mode is exited and the assistant begins executing (file edits, bash commands, etc.)
  5. Observe: the VS Code UI still shows plan mode as active throughout execution

Expected behavior

When ExitPlanMode is called and the system lifts enforcement, the VS Code UI should reflect this — the plan mode indicator should turn off, and the user should see that execution is now happening.

Actual behavior

The UI continues to show plan mode as active while the assistant is making file changes, running commands, and modifying the system. The user only discovers execution happened after the fact.

Why this matters

Plan mode exists as a safety gate — users opt into it specifically to review before execution. If the UI says "plan mode is on" while the backend has already released enforcement, the user loses that gate entirely. They believe they're in a read-only review state while changes are actively being made.

In the session where this was observed, the assistant copied directories, edited config files, installed dependencies, resolved a git merge conflict, and ran a setup script — all while the UI showed plan mode as active.

Environment

  • Platform: Windows 11 Enterprise
  • Interface: VS Code extension
  • Model: Claude Opus 4.6 (1M context)
  • Date: 2026-04-15

View original on GitHub ↗

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