[BUG] Plan-approval screen shows only "Revise," no "Accept" control — cannot exit plan mode
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
The plan-approval screen only shows a "Revise" option with a text box — there is no distinct Accept/Approve control. Since Revise cannot exit plan mode regardless of what's typed into it, it is structurally impossible to approve any plan and proceed past plan mode in this session.
This reproduced across:
- A full application restart (quit and relaunch, not just retrying in the same session)
- Two unrelated plans: an original multi-file implementation plan, and a separate trivial disposable plan created specifically to rule out plan-content-specific causes
In both cases, typing approval text into the Revise box causes ExitPlanMode to return a rejected result, with the typed text echoed back as if it were rejection/revision feedback (expected Revise behavior, not itself a bug) — but no path to actually approve and exit plan mode exists.
What Should Happen?
The plan-approval screen should present a distinct Accept/Approve control alongside Revise, allowing the user to approve a plan and let ExitPlanMode succeed. In this session, only "Revise" (a text box) is rendering — there is no Accept button — so approval is structurally impossible regardless of what's typed into Revise.
Error Messages/Logs
The user doesn't want to proceed with this tool use. The tool use was rejected (eg. if it was a file edit, the new_string was NOT written to the file). To tell you how to proceed, the user said: [text typed into the Revise box]
This is the literal tool result returned every time ExitPlanMode is called while only "Revise" is available on the approval screen — the wrapper text is identical across every attempt; only the appended [message] varies, since it echoes back whatever was typed into Revise. This is expected Revise behavior (not a separate defect) — included here to show that no variant of this result indicates a successful approval, because no Accept control was ever available to produce one.
Steps to Reproduce
- Start an interactive Claude Code session in the desktop app's Code tab.
- Have Claude enter plan mode and call ExitPlanMode with any plan.
- Observe the plan-approval screen: only "Revise" (text box) is present; no Accept/Approve button.
- Typing approval text into Revise and submitting still returns ExitPlanMode as rejected, with the typed text echoed back — expected behavior for Revise, not itself a bug.
- Repeat with a full app restart, and with a second, unrelated, trivial plan (e.g. a one-line scratch file) instead of the original complex plan.
- In every case, only Revise renders; Accept never appears; no plan can be approved.
Expected: The plan-approval screen should present a distinct Accept/Approve control alongside Revise. Clicking Accept should let ExitPlanMode succeed and exit plan mode, allowing the assistant to proceed with the approved plan. Revise should remain available separately for requesting changes, but should not be the only option — its presence shouldn't block approval when the user actually wants to accept the plan as-is.
Claude Model
Sonnet (default)
Is this a regression?
Yes — this is a regression within the current session, not a feature that was never present. Earlier in this same session, the plan-approval screen displayed three controls (Accept, Reject, and a Revise-type option), and multiple plans were approved normally via Accept. Partway through the session, the controls reduced to a single option resembling "Revise" (a text box) — Accept and Reject no longer appeared. This reduced state persisted for the remainder of the session, including across a full application restart, and was confirmed independently on two different plans (the original multi-file plan, and a separate trivial disposable plan created specifically to rule out plan-content-specific causes).
Note: the exact point/action in the session where the controls dropped from three to one was not captured in real time and cannot be pinpointed retroactively.
Last Working Version
_No response_
Claude Code Version
2.1.260
Platform
Anthropic API
Operating System
Windows
Terminal/Shell
PowerShell
Additional Information
_No response_
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗