cmux NEXT chat header: no machine and folder label, and no row for it
Leo, 2026-10-25: "Why is there a thing at the top right that says my computer thing"
Leo, 2026-10-26: "i thought we said to remove this? did the latest nightly not have that thing?"
Leo, 2026-10-27: "huh / ugly and useless top left plus now egregious amounts of vertical space taken up by absolutely nothing of use"
Leo, 2026-10-27: "didnt we make improvements to it"
The chat pane header no longer draws the machine · folder · branch label (EnvironmentLine) anywhere:
- the standalone header;
- the native tab-row tools;
- the row below the tab row. #25115 made that row the default ("Left"), and it is the band Leo saw at the top left.
A started chat's transcript starts right under the tab bar again. Where a chat runs stays in the Inspector's Environment section, which this PR doesn't touch. Connection warnings and the header tools are unchanged.
The saved Session Info chip setting (agentPane.display.environment.placement: Left, Right or Off) is still accepted, so no one's cmux.json breaks, but no value draws a label.
Takes back
Takes back #23236: Leo asked for the header's machine and folder label to go; the Inspector's Environment section keeps saying where a chat runs.
Takes back #23259: its branch-pill tweak lived in the removed label and its deleted test.
Takes back #25115: its default "Left" row is the empty band Leo called ugly; the setting stays accepted but draws nothing, and the Inspector no longer reserves that row's height.
Since the earlier review
This PR was adopted from a lane that is gone, and merged with current base. The conflicts in App.tsx (base's new LivePresenceStack kept), header.css and the scroll-stability browser test were resolved. Base had also moved:
- The Inspector no longer leaves a row's height for the removed row under the header (
inspectorTopOffset). - chatDisplay's now-unused
environmentPlacementSurfacehelper and its test are gone.
Before / after
Gallery agent-pane.header, a started chat, Chromium, Linux, rendered at base and at this head:
| Before (base) | After | |
|---|---|---|
| Header in the pane's tab row | ![]() | ![]() |
| Standalone header | ![]() | ![]() |
Tests
test/chat-environment-scroll-stability.test.tsx(browser) checks every saved placement (Left, Right, Off), with the header both in the native tab row and standalone. No location label renders while the transcript scrolls and snapshots update. All 12 pass. The Left and Right cases fail on base.chat-inspector27/27,agent-pane-chat-display10/10,chat-header-every-tool-acts2/2,gallery-agent-pane-entries40/40.- Typecheck is clean. Lint shows 2 warnings, the same as base. Format produces no diff in this PR's files. The design-token ratchet and layer checks pass.
gallery-coveragefails the same way as base, line for line.
Review
- next-review: SHIP at the earlier head.
- Codex gpt-6-astra xhigh: SHIP at the final merged head.
Risk
Webview only; it removes a label and its row. No setting default is flipped. The Inspector's Environment section is untouched.
Agent session: agent session
🤖 Generated with Claude Code



