Agent chat: switch between Transcript and Messages

Merged
TE
5d ago
+59416-57831

An agent chat can now switch between the full Transcript and Messages-style bubbles. Messages keeps user and agent text plus pending questions and permission decisions, while hiding tools, thoughts and worked-for footers. Each session remembers its choice; new sessions default to Transcript.

To flip it: open the chat’s … → Transcript view → Messages menu. Choose Transcript to return to the existing Normal / Thinking / Verbose view. Make Messages the default changes agentPane.display.presentation for sessions without their own choice; the same setting appears in Settings → Agent Chat.

Leo (2026-11-01):

i also want you to be able to be like a point of contact for chief if possible... 1. the chatgpt desktop apps’ views for chatgpt and codex only really differ by the whole situation on the tool calls... and ofc what capabilities they start with (and stay with?) so actually the whole imessage view of chief should be able to be interchangeable with the gui. like straight up. one for the other. stand-in. so you shoul dbe able to look like chief with those hidden tool calls, and chief should be able to look like you/have the same level of capabilities as you

Scope: agent-pane presentation (a1 of the implementation map). The only native change is the approved settings descriptor and its schema test; no Chief or Home Channels changes.

Design: leo-workspace/design/chat-transcript.md. The existing prompt bubble supplies colours, glass and sizing. Gallery: agent-pane.messages-presentation, including pending question and permission states.

Validation: 14 focused row-filter, persistence, menu and recovery tests pass (42 assertions). Static web lint, browser-test guards, string generation and the pre-push gate pass. All 105 new localized entries pass the catalog validator; existing entries are unchanged. Fleet validation of the reviewed implementation at 71a0752ca6e7d88beea3a4bbd8f7e13e47e4d24c:

  • cmux-ci test --setup webviews --timeout 1200 -- bun run check (run).
  • cmux-ci test --setup playwright --timeout 1800 -- env CMUX_BROWSER_TESTS=1 CMUX_WEB_TEST_JOBS=8 bash ../scripts/ci/run-webviews-tests.sh src/agent-session test/presentation.test.ts test/transcript-view.test.tsx test/agent-pane-messages-presentation.test.ts (run).

The two Fast checks runs above queued without a worker. The controller is running the full webviews suite and the three browser files at this head, alongside cmux-ci compile-check --app and a fresh-home launch. The earlier full check found TS4104 because the filtered rows were typed readonly; this head fixes the return type. Final verdicts will be recorded when they finish.

Independent review: Claude Opus 5.5 returned SHIP at 71a0752ca6e7d88beea3a4bbd8f7e13e47e4d24c, with no blocking findings. The coordinator is recording the follow-ups separately. The current head, f7f5bc9b846131754133565daaeb11094bc0ccb7, merges the updated base; its only conflict was the generated settings-reference entry count, resolved by counting the 537 merged entries with jq. The resulting generated file is unchanged from the reviewed implementation.

Fleet browser run passed at d110599f4a33a9a31e7c754fb48ce7ef510fdf7b (step eaeb5e31b101d0ad2d565296): agent-pane-messages-presentation.test.ts, presentation.test.ts, and transcript-view.test.tsx; 3 files, 0 failures, with browser engines enabled. It covers keyboard selection, left/right bubble alignment, reload persistence, Verbose restoration, and pending question/permission controls.

The repository-wide local verification also reports existing localization debt (47,762 parity errors) and CmuxDeviceHub missing from workspace package groups. This change adds no localization errors and does not change the workspace grouping inputs.

Settings exports were generated on the fleet with cmux-ci run --class light --script scripts/cmux-next/regenerate-settings-exports.sh --arg=settings-exports.patch --artifact settings-exports.patch --ref c78142ca0683fdd7faa05bb7a63a067ce23fc68b (step 2f05aa5c35804b0878ff775a). The generated schema, MDM and settings-reference outputs are committed; the generator’s bot-only defaults snapshot is excluded.

This is one presentation change with its persistence and regression coverage; most of the diff is the five labels across 21 locales.

Changelog

Added: Per-session Transcript / Messages presentation in agent chats.

Agent session: agent session