feat(web): remove Build/Plan toggle from the composer - #5551
Conversation
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
ApprovabilityVerdict: Needs human review This PR changes default runtime behavior by disabling plan mode for all users and has an unresolved high-severity review comment about existing plan-mode threads losing their Implement/Refine UI. The interaction between legacy threads and the new default deserves human verification. You can customize Macroscope's approvability policy. Learn more. |
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…g/t3code into t3code/remove-build-plan-toggle
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using high effort and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit a7f0fc2. Configure here.
| // send persists "default" back to the thread. | ||
| const interactionMode = settings.planModeEnabled | ||
| ? (composerInteractionMode ?? activeThread?.interactionMode ?? DEFAULT_INTERACTION_MODE) | ||
| : DEFAULT_INTERACTION_MODE; |
There was a problem hiding this comment.
Plan-ready threads lose Implement UI
High Severity
Forcing interactionMode to default when planModeEnabled is off, and removing the interactionMode === 'plan' escape hatch, prevents threads already in plan mode from using Implement/Refine or /default. This leaves users with a 'Plan Ready' sidebar state but no way to act on it.
Reviewed by Cursor Bugbot for commit a7f0fc2. Configure here.


The Build/Plan toggle in the composer input box is gone. Plan mode is now a legacy feature: Settings → Beta has a "Restore plan mode (legacy)" switch that brings the toggle back for anyone still relying on the old workflow.
With the flag off (the default), the composer no longer shows the Build/Plan control, the compact "…" menu drops its Chat/Plan radio group, the
/planand/defaultslash commands disappear from the command menu, and Shift+Tab no longer flips modes. The effective interaction mode is also forced to "build" while the flag is off — even for threads that had plan mode persisted — so nobody can be trapped in plan mode with the toggle hidden. The next send persists the forced mode back to the thread.Implementation: a new
planModeEnabledclient setting (default false) in the contracts schema, gating plus mode clamping inChatComposer/ChatView, and a Beta settings row wired into settings search.Change made by Claude Fable 5 via Claude Code.
🤖 Generated with Claude Code
Note
Low Risk
Client-side UI and interaction-mode gating only; default-off behavior may surprise users with existing plan threads until they send a message or enable the beta flag.
Overview
Plan mode is now legacy and hidden by default. A new client setting
planModeEnabled(defaultfalse) in the settings contract controls whether Build/Plan is available at all.With the flag off,
ChatViewforces the effective interaction mode to default even when a thread still has plan mode stored, so users are not stuck without UI to exit; the next send is expected to persist default. The composer hides the Build/Plan toggle, drops/planand/defaultfrom the slash menu, disables Shift+Tab mode switching, and treats standalone/plan//defaultas normal message text.With the flag on, behavior matches the prior plan-mode workflow (toggle, shortcuts, and slash commands). Settings → Beta adds Restore plan mode (legacy) wired into settings search; desktop settings tests include the new default field.
Reviewed by Cursor Bugbot for commit a7f0fc2. Bugbot is set up for automated code reviews on this repo. Configure here.
Note
Remove Build/Plan toggle from the composer behind a
planModeEnabledbeta flagplanModeEnabled(defaultfalse) toClientSettingsSchemain settings.ts; the flag can be toggled via a new switch in the Beta settings panel.planModeEnabledis false, the interaction mode is forced toDEFAULT_INTERACTION_MODEinChatView, and the/plan//defaultslash commands are treated as plain text.Shift+Tabshortcut, and the/plan//defaultcommand palette entries inChatComposerwhen the flag is off.Macroscope summarized a7f0fc2.