cmux NEXT agent pane: Open subagents in panes is a cmux.json setting
AU
3d ago+628+628+012345678901234567890123456789-97-97-01234567890123456789
Follow-up to https://github.com/manaflow-ai/cmux/pull/24017. It is stacked on that PR, so its first three commits are #24017's; once #24017 lands, the diff here shrinks to the two commits at the top.
The summary card's Open subagents in panes switch was stored in the agent pane's localStorage, which a pane keeps only until the app quits. It is now a cmux.json setting:
"agentPane": { "subagentPanes": false }
- It shows up in Settings > General > Agent Chat as Open Subagents in Panes, off by default (
AgentPaneComposerSetting). - The host sends it to the page with the composer's settings (the
composerevent). - The card's switch updates at once and asks the host to write the key (
pane.subagentPanes). The host then pushes the new value to every page. - A switch already turned on in the old localStorage moves into the setting once, and the old key is removed (
adoptStoredSubagentPanes). - The release-note highlight now names the setting.
- Both strings are translated in all 21 locales. The title reuses the card switch's existing translations.
Changelog
- Changed: Open subagents in panes is now a setting (
agentPane.subagentPanes, Settings > General > Agent Chat) and stays on across restarts.
Test
Committed red first (5f3cee6), then the fix (933c32c):
bun test test/subagent-panes-default-off.test.ts(inwebviews/): the switch readssubagentPanesfrom the composer settings, writespane.subagentPanesthrough the host, and adopts an old localStorage "on" once.swift test --filter 'AgentPaneSubagentPanes'(CmuxNext): the key parses (default off, a bad value is ignored), it reaches the page value, it has a schema row, andpane.subagentPanes {show}decodes to the composer setting write.
Observed / Not run
- Observed: nothing executed locally. This Mac has no
node_modules, and Swift runs on the build fleet. PR CI runs both. - Not run: the generated exports (settings schema, docs/mdm, defaults). The cmux-next PR autofix regenerates them.
- Not run: a tagged-app dogfood.
🤖 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.