Cloud: an agent's start-session/start-chat in a chat asks nobody by default
Leo, on the Start / Not now card an agent's cmux cloud start-chat raised in its chat ("The agent asks to create Cloud machine chat-e42f4285 and start a claude session there. [Start] [Not now]"): "1. looks like stuff 2. shouldn't have needed to ask me". Earlier, on the same topic: "*@cmux.com can jsut make whatever freestyle vms they want".
What changes
cloud.agentsStartWithoutAskingis now on by default (CloudAgentStartSetting.defaultValue = true). An agent'scmux cloud start-session/start-chatrun from a chat creates or takes the machine and starts the session the way a run from a terminal does: no card, nocloud.start_pendingdialog, and--waitwaits for the reply. The only gate left is the Cloud plan/entitlement check the backend already does on create (its refusal comes back as the run's error).- Why the setting stays: removing the card outright would break a documented guarantee.
docs/mdm/managed-preferences.mddocumentscloud.agentsStartWithoutAskingas a managed preference, so an admin can require the ask. With the default flipped, a person or an MDM profile can still turn it off and get the card back. No new setting is added. cmux cloud start-chatno longer appends "From an agent chat the app asks the person first…" to every app refusal from an agent chat. That hint is now wrong by default. When asking is turned back on, the app's own refusal (Not now, or no answer) already names the command to run again.- Docs:
cmux cloud start-chat --help, thecloudStartSessionaction description,skills/cmux-cloud-vm/SKILL.mdandreferences/commands.mdnow describe the no-ask default. - The settings exports (MDM schema and docs, settings schema, docs settings reference) now carry the new default.
The card
The card is no longer shown on this path, so there is no styling to fix here. The same component still renders other asks: AgentPaneToolCard through AgentToolCards (CmuxNextAgentPane). Move to Cloud's ask (CloudMoveAsks) uses it, and so does this path when the setting is turned off (CloudStartSessionAsks). This PR leaves its look alone.
Follow-ups, not in this PR:
- The Chief's skill
Native/OptChat/optchat-chief/skills/chief-cloud-machines/SKILL.mdstill says "The app first asks the user with a card". Fixing it changes Chief-area code, so it goes in its own PR. newCloudMachine(cmux setup cloud-machine) is a separate path. This PR doesn't touch it.- The setting's help text still says "Only you can turn this on". It should say "off", but changing it means updating the localized string catalog (21 locales), so it gets its own PR.
Test
CloudAskDialogsTests.theDelegationIsThePersonsAndOnByDefault fails on base. On base, an empty settings root means agents ask. Here, an empty root means they don't: the descriptor's default is true, false still turns it off, and the key is still user-only. CloudStartSessionTests' two ask-path tests now turn the setting off first (askingFirst), since the card is opt-in. Fleet runs at 5eac68af: the CloudAskDialogsTests, CloudStartSessionAsksTests and CloudStartSessionTests suites pass (package-test-lane), and cargo test -p cmux-tui cloud_start_chat passes.
Exports: only this key's default is flipped in docs/mdm, schemas/settings and the docs settings reference. The fleet regeneration also showed unrelated drift already on base (agentPane.composerRing, tunables), which I left for base-autofix. schemas/defaults/cmux-next.json is bot-only (#21946), so it is left to the bot.
Risk: default change on one Cloud setting. An agent in a chat can now create a Cloud machine (billed on the person's plan) without a click. That is Leo's stated intent.
🤖 Generated with Claude Code
Agent session: agent session
![Autofix with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/autofix-with-codesmith-dark-3x.png)
Open in [code]smith · Need help on this PR? Tag @codesmith-bot with what you need.
Summary by cubic
An agent's cmux cloud start-session or start-chat run from a chat now creates or takes the machine and starts the session without a Start / Not now card, matching how a terminal run behaves. The Cloud plan's entitlement check still applies; its refusal comes back as the run's error.
- The
cloud.agentsStartWithoutAskingsetting stays, so a person or an MDM profile can turn it off to restore the card. cmux cloud start-chatrefusals no longer claim the app asks first, since that's no longer the default.- Help text, skill docs, and the MDM and settings schemas now carry the new default.