ExitPlanMode tool missing after Plan Mode activation (auto mode, no skip-perm)
Bug Report: ExitPlanMode tool missing after plan mode activation
Date: 2026-04-17
Claude Code version: 2.1.112 (or whatever ships with Opus 4.7 release)
Model: claude-opus-4-7[1m]
Platform: Windows 11, bash shell via Claude Code
Summary
When Plan Mode is activated, the ExitPlanMode tool is not registered/callable, making it impossible to end plan mode the documented way ("At the very end of your turn... you should always call ExitPlanMode").
Reproduction
- Launch Claude Code with
--channels plugin:telegram@claude-plugins-officialin auto mode (no--dangerously-skip-permissions). - Enter plan mode (system-reminder confirms "Plan mode is active").
- Write a plan file to
C:/Users/sigmu/.claude/plans/<name>.md. - Attempt to call
ExitPlanModevia tool use — not in initial tool list. - Attempt
ToolSearchwith queryselect:ExitPlanMode— returns "No matching deferred tools found". - Attempt
ToolSearchwith fulltext "exit plan mode" — returnsExitWorktreeand others, but notExitPlanMode.
Expected
ExitPlanMode should be in the initial tool set (or discoverable via ToolSearch) whenever Plan Mode is active, as documented in the plan workflow system-reminder.
Actual
Tool is completely absent. Only workaround is manual exit (Shift+Tab, /plan slash command, or Alt+M), or the user emitting an explicit "Exited Plan Mode" system-reminder.
Context / History
- Previous session (2026-04-17, earlier today) identified a three-way conflict between
--dangerously-skip-permissions, auto mode, and plan mode, also causingExitPlanModeregistration issues. - Fix attempted: removed
--dangerously-skip-permissionsfrom shortcut (Claude Research.bat). - Current session: bug persists even without
--dangerously-skip-permissions. Only auto mode + plan mode.
Environment
- Shortcut:
cmd /c claude --channels plugin:telegram@claude-plugins-official - Auto mode: active
- Skip-permissions: NOT active
- Plan mode: active at issue time
Impact
Low-medium. Workarounds exist, but the documented flow ("end turn with ExitPlanMode or AskUserQuestion") cannot be followed. Forces reliance on user-initiated plan-mode exit.
Suggested fix
Ensure ExitPlanMode tool definition is loaded whenever planMode === true in session state, independent of auto mode or channel configuration.
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗