[FEATURE] Invert plan mode "clear context" setting — show by default, hide via opt-out
Preflight Checklist
- [x] I have searched existing requests and this feature hasn't been requested yet
- [x] This is a single feature request (not multiple features)
Problem Statement
Starting from v2.1.81, the "clear context and auto-accept edits" option was removed from the plan execution prompt by default. Users must discover and set showClearContextOnPlanAccept: true in settings.json to restore it.
The current setting logic is inverted from a UX perspective:
| Current (v2.1.81+) | Proposed |
|---|---|
| Option hidden by default | Option visible by default |
| showClearContextOnPlanAccept: true to restore | hideClearContextOnPlanAccept: true to remove |
| Power users must discover a hidden flag | Power users who don't want it can opt out |
Why the Current Approach Is Problematic
- Discoverability: The majority of users who benefit from context clearing at plan acceptance now need to find and set a configuration flag to restore a feature that was previously visible by default. This is a regression in usability — the option should be discoverable at the point of use, not buried in settings documentation.
- Context rot at high utilisation: Even with the 1M context window, model performance degrades well before the window is full. In practice, context rot becomes noticeable at approximately 30% utilisation (~300K tokens). The plan acceptance prompt is a natural checkpoint to clear context and start execution fresh.
- Compounding token cost: Every turn sends the entire accumulated context as input tokens. At 300K context, each subsequent exchange costs 300K+ input tokens to process, and the response adds to it further. Clearing at plan acceptance breaks this compounding cycle at exactly the right moment.
- Plans persist to disk: Plans are saved to
~/.claude/plans/, so clearing context before execution is safe — the plan survives the clear. Without the option, the workaround is: Escape the prompt →/clear→ re-invoke the plan. This is clunky and easy to forget.
- Community confusion: Multiple issues have been filed around this change:
- #38071 — Requesting the option back
- #37688 — Users expecting auto-clearing but getting neither auto-clearing nor the manual option
- #18599 — The original complaint was about accidental context clearing (option ordering), not about removing the option entirely
Proposed Solution
Invert the setting:
- Show "Clear context and auto-accept edits" in the plan execution prompt by default
- Provide
hideClearContextOnPlanAccept: truefor users who want to remove it - Optionally, reorder the options so "clear context" is not the first/default selection (addressing the original concern from #18599)
Why This Ordering Matters
The original issue (#18599) complained that "clear context" was the default selection (first option, activated by Shift+Tab), causing accidental context loss. The correct fix for that is reordering — making "auto-accept edits" the first option while keeping "clear context" visible as a secondary choice. Hiding the option entirely conflates two different problems: accidental activation (ordering) and feature availability (visibility).
Alternative Solutions
Currently using showClearContextOnPlanAccept: true in settings.json as a workaround. Without this, the flow is: Escape prompt → /clear → re-invoke the plan manually.
Priority
High - Significant impact on productivity
Feature Category
Configuration and settings
Use Case Example
- Enter plan mode for a complex multi-file refactoring task
- Spend 50K-100K+ tokens discussing and refining the plan with Claude
- Plan is finalised and saved to ~/.claude/plans/
- At plan acceptance, context is already at ~30% utilisation
- Without "clear context" option visible, I must escape, /clear, then re-invoke
- With the option visible (as it was before v2.1.81), it's a single decision point
Additional Context
Environment Info
- Claude Code: v2.1.83
- Plan: Claude Max
- Platforms: Linux (Kali), Windows
This issue has 6 comments on GitHub. Read the full discussion on GitHub ↗