cmux-next: suggested follow-up tasks become a setting
Stacked on https://github.com/manaflow-ai/cmux/pull/21896 (full-access switch). Until that lands, this diff includes its commit.
Summary
The Debug Settings toggle agent.suggestedTasks becomes a real setting: Suggest Follow-Up Tasks (sessions.promptSuggestions, off by default as before), under Settings > Agents > Agent Sessions. When it's on:
- agents get the cmux-sessions tools (
ACPMUX_OFFER_TOOLS=1for the next acpmux daemon this app starts); - the pages show the tasks they suggest, which start as child chats.
The Debug toggle still turns it on too.
AgentPaneSuggestedTasksfollows the setting through Observation. It keeps a thread-safe copy (forNextDaemon) thatAcpmuxHostreads each time it starts a daemon.- CmuxNextApp doesn't grow. The composer-settings observation sets the two Debug-owned slider fields in one line, which covers the one line of wiring.
- Agents can't set the key (
userOnly), because turning it on gives every agent tools that start child chats. - New strings are translated into all 21 locales.
Testing
- The fleet export step built the package and its tests, and the exports are committed (6da02052).
package-test-lane.sh suiteat 6da02052 passedAgentPaneSuggestedTasksSettingTests,AcpmuxOfferToolsTestsandSettingsSchemaExportTests.- Not run: a live daemon started with the setting on.
Changelog
Added: A setting lets agents suggest follow-up tasks that start as child chats.
๐ค Generated with Claude Code
Need help on this PR? Tag @codesmith-bot with what you need.
Summary by cubic
Makes suggested follow-up tasks and full-access modes real settings under Settings > Agents > Agent Sessions.
Suggest Follow-Up Tasks (sessions.promptSuggestions, off by default) gives agents the cmux-sessions tools and shows their suggested tasks, which start as child chats. Allow Full-Access Modes (sessions.allowFullAccess, on by default) refuses switching into modes that skip approvals โ bypass permissions, full access, yolo, auto-approve.
- The Debug Settings
agent.suggestedTaskstoggle still turns suggestions on, written at once so even a daemon prewarmed at launch gets it. - acpmux enforces
sessions.allowFullAccessserver-side for every client and chat: new chats and resumed chats downgrade to default,session/set_modeand config options into full access are refused, and an unreadable settings file fails closed. - Resumed and pooled chats that can't leave full access stop rather than run; a full-access parent's child starts outside it. Profiles that pin a mode in their argv are exempt.
- acpmux and the app recognize full-access mode IDs with the markers in
cmux-tui/spec/full-access-modes.json, and the Swift transport answers the page first with the same localized refusal text. - Agents can't set either key:
promptSuggestionsis user-only,allowFullAccessis destructive. - String catalogs and MDM/schema exports are regenerated; new strings are in all 21 locales.