Describe the bug
When renaming a pane group in the vertical-tabs sidebar (code-side these are tab groups), the new name only takes effect on Enter. Clicking elsewhere while the rename field is open silently discards the edit. The macOS convention for inline rename (Finder, Xcode's navigator, Notes) is commit-on-blur: clicking away confirms the name; Escape is the cancel gesture.
To reproduce
- In the vertical-tabs sidebar, double-click a pane group's header (or choose Rename from its right-click menu)
- Type a new name
- Click the sidebar background instead of pressing Enter
- The name reverts to its previous value
Expected
Click-away commits the new name; Escape remains the way to cancel.
Where the behavior comes from
This looks at least partly intentional, so I'm framing it as a design decision worth revisiting rather than a plain bug:
- The rename editor itself already commits on blur:
handle_tab_group_rename_editor_event maps EditorEvent::Blurred | Enter => finish_tab_group_rename (app/src/workspace/view.rs:1482-1501). That matches the rest of the app — tab rename, pane rename, conversation rename, the host-picker slug editor, and most settings fields handle Blurred | Enter the same way, and the file tree commits on blur via its View::on_blur hook ("matches VS Code").
- But the vertical-tabs panel background dispatches
WorkspaceAction::CancelActiveRename on click (app/src/workspace/view/vertical_tabs.rs:1718-1720), and that action is documented as deliberate: "Cancels any active rename … without committing … Dispatched when clicking on the vtab panel background while a rename editor is open" (app/src/workspace/action.rs:189-192). Its handler cancels all three rename kinds (view.rs:23859-23863); clearing the rename state makes the editor's blur-commit early-return into a no-op (view.rs:1557-1560).
Why I think it's worth changing
- It's inconsistent with itself: click-away onto the sidebar background discards the edit, while click-away onto a focusable target outside the sidebar blurs the editor and commits.
- It's inconsistent with the app's own convention — everywhere else, inline editors commit on blur.
- It's contrary to the macOS norm (Finder, Xcode's navigator, Notes): click-away confirms; Escape is the cancel gesture. A silent discard also loses typed input with no signal, which is the more damaging default.
Individual tab and pane renames are affected the same way, since CancelActiveRename cancels all three.
Suggested fix
If you agree the behavior should change: make the panel-background click finish the active rename instead of cancelling — or drop the CancelActiveRename dispatch entirely and let the editor's own Blurred → finish path run. No test currently covers commit-on-blur or click-away for any of the three rename flows; a regression test on the CancelActiveRename-vs-finish interaction would lock the chosen behavior in.
Related: #10580.
Environment
- Warp: 0.2026.07.08.17.54.02 (stable)
- macOS: 27.0 (26A5388g)
Describe the bug
When renaming a pane group in the vertical-tabs sidebar (code-side these are tab groups), the new name only takes effect on Enter. Clicking elsewhere while the rename field is open silently discards the edit. The macOS convention for inline rename (Finder, Xcode's navigator, Notes) is commit-on-blur: clicking away confirms the name; Escape is the cancel gesture.
To reproduce
Expected
Click-away commits the new name; Escape remains the way to cancel.
Where the behavior comes from
This looks at least partly intentional, so I'm framing it as a design decision worth revisiting rather than a plain bug:
handle_tab_group_rename_editor_eventmapsEditorEvent::Blurred | Enter => finish_tab_group_rename(app/src/workspace/view.rs:1482-1501). That matches the rest of the app — tab rename, pane rename, conversation rename, the host-picker slug editor, and most settings fields handleBlurred | Enterthe same way, and the file tree commits on blur via itsView::on_blurhook ("matches VS Code").WorkspaceAction::CancelActiveRenameon click (app/src/workspace/view/vertical_tabs.rs:1718-1720), and that action is documented as deliberate: "Cancels any active rename … without committing … Dispatched when clicking on the vtab panel background while a rename editor is open" (app/src/workspace/action.rs:189-192). Its handler cancels all three rename kinds (view.rs:23859-23863); clearing the rename state makes the editor's blur-commit early-return into a no-op (view.rs:1557-1560).Why I think it's worth changing
Individual tab and pane renames are affected the same way, since
CancelActiveRenamecancels all three.Suggested fix
If you agree the behavior should change: make the panel-background click finish the active rename instead of cancelling — or drop the
CancelActiveRenamedispatch entirely and let the editor's ownBlurred → finishpath run. No test currently covers commit-on-blur or click-away for any of the three rename flows; a regression test on theCancelActiveRename-vs-finishinteraction would lock the chosen behavior in.Related: #10580.
Environment