Agent chat: no chat title beside the tools in the pane's tab row

Merged
TE
3d ago
+11-8

Leo, 2026-11-01, on a screenshot of the agent chat's tab row with the chat's name claude-sr2-coord beside the tools at its right end: "why did you all f***ing keep this"

What it was

#25661 put the chat's title into the pane's tab row, at the left of the header tools, as a dropdown. Leo asked why it was a dropdown ("why is there a dropdown of this"), and #29920 took the menu and pill away but kept the title. In the tab row it repeats what the pane's own tab already says, so the row shows the chat's name twice.

Change (removal only)

  • App.tsx: in the tab row the header no longer renders ThreadTitle. The inline status (a warning that leads the tools) stays exactly as before #25661 made it the title's wrapper.
  • header.css: drop the tab-row-only .acpmux-thread-title size rule.
  • The title in the header's own row (tab row off, Quick Chat) is unchanged, double-click rename included. Rename in the tab row stays on ⌘R, the ⋮ menu and the tab itself.

Regressed by #25661 (kept by #29920).

Test

ThreadTitle.test.tsx "the tab row shows no chat title (App.tsx)": every <ThreadTitle in App.tsx is guarded by !inTabRow. It fails on base (the tab-row title's guard is !showNewTab && snapshot.sessionId) and passes here. bun test src/agent-session/acpmux/header/ src/agent-session/acpmux/chatSwitch.test.ts: 49 pass. (tsc reports one error in test/latency/probe.ts, which this PR does not touch and which is also on base.)

Design: chat header gains the rule "the tab row shows no chat title".

Risk: low. A removal in the web header; no native change.

Agent session: agent session

🤖 Generated with Claude Code


Summary by cubic

Removes the chat title from the agent chat pane’s tab row so the row no longer shows the chat’s name twice (the pane’s own tab already names it).

  • The inline status warning stays exactly as before; only ThreadTitle is removed from the tab row.
  • Rename still works in the tab row via ⌘R, the ⋮ menu, and the tab itself.
  • The title in the header’s own row (tab row off, Quick Chat) is unchanged, including double-click rename.
  • A test in ThreadTitle.test.tsx verifies every ThreadTitle in App.tsx is guarded by !inTabRow.