Agent chat: the header title is plain text; its actions live in ⋮
Leo, 2026-11-01, on the 4:55pm nightly's header (the title claude-sr2-coord ⌄ on a filled pill, and the menu it opens):
? 4:55pm still background on the top right still the weird situation why is there a dropdown of this
Why the earlier fix didn't reach it
#29618 removed the tab row's band (.acpmux-shell[data-tab-row] gradient in styles.css). The pill is a different element: the title itself was a ChatMenu trigger (#25661), and header.css filled .acpmux-thread-title-trigger:hover and [data-popup-open] with --acpmux-menu-hover. Nothing removed that.
What changed
- The title is plain text (
header/ThreadTitle.tsx): a<span>with no chevron and no menu.header.cssgives.acpmux-thread-titleno fill in any state. A long title still ellipsizes, and its full text shows as a tooltip. - Double-click renames through the same
pane.action renameTabthat ⌘R and the menu's Rename use. ⌘R itself is unchanged. Quick Chat's panel has no rename, so double-click does nothing there. - No action is lost. The title menu's rows are all in the header's ⋮ menu:
- Rename, Fork, Archive, New terminal, New browser and New window were already there. New terminal, New browser and New window were the title's "Open in" rows.
- Move to machine (
header/chatRows.tsmoveMachineRow) joins the machine group. - Delete (
deleteChatRow, through the existing delete dialog) goes after Archive. - Both are guarded against a chat switch while the menu is open, as the title menu's rows were.
- The title is no longer a focusable control. Rename and the menu remain reachable with ⌘R and the ⋮ button.
Takes back #25661: Leo asked for the title not to be a dropdown.
Design: chat header, a new spec mapped in .github/design-surfaces.json. It records the plain title, the actions in ⋮, and #25661's menu as replaced.
Tests
bun test src/agent-session/acpmux/header/ThreadTitle.test.tsx src/agent-session/acpmux/header/chatRows.test.ts (from webviews/):
- on base: 4 fail, 9 pass;
- on this head: 13 pass.
The new tests check:
- the title is a plain span: no button, popup or tabindex, and a click opens no menu;
- a double-click renames, and a single click does not;
- no
.acpmux-thread-titlerule inheader.cssdraws a background; moveMachineRowanddeleteChatRowbuild the expected rows;- ⋮ keeps every action the title menu had.
The menu-lint tests that used the title menu (design/menus.md cites them) now run on a ChatMenu.
Observed / Not run
- Observed: the two files above (red on base, green here);
vp fmtand oxlint on the changed files. - Not run locally: the full
bun run checktype check (this 2-CPU host timed out); CI runs it. No capture: Leo tries the build himself.
Follow-ups (from review): Quick Chat's ⋮ has no New window row (the old title menu offered one there). Delete and Move to machine lose the title menu's in-menu letter keys.
Risk: low/normal. One header component and two menu rows; no state machine or data changes.
Changelog
Changed: The chat title in the header is plain text, with no pill or dropdown; double-click or ⌘R renames, and Move to machine and Delete are in the ⋮ menu.
Agent session: agent session
🤖 Generated with Claude Code
![View with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/view-with-codesmith-dark-v3-3x.png)
![Autofix with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/autofix-with-codesmith-dark-3x.png)
Need help on this PR? Tag @codesmith-bot with what you need.
Summary by cubic
Makes the agent session chat title plain text in the header, removing the dropdown trigger that drew a filled pill on hover and when open. A previous fix removed the tab row's band, but not this pill, so it stayed visible.
- Double-click the title to rename it (the same path as ⌘R); a single click does nothing, and Quick Chat has no rename.
- Move to machine and Delete join the ⋮ menu, which already held every other action the title menu had; both stay guarded against a chat switch while the menu is open.
- The title is no longer focusable; ⌘R and the ⋮ button remain the keyboard paths.
Known follow-ups: Quick Chat's ⋮ has no New window row (the old title menu offered one there), and Delete and Move to machine lose their in-menu letter keys.