Cloud: the NEXT nightly passes the Mac's login by default; the shipping app points at the machine's sign-in

Merged
TE
5d ago
+65-15

Follow-up to #30183. Leo: "IN THE ACTUAL PRODUCTION APP IT MAY BE AGAINST TOS" (copying the Mac's Claude/Codex login to a Cloud machine). That line is about the shipping production app. The NEXT nightly is dogfood (only the team uses NEXT Cloud), so it keeps the transfer on by default, as Debug builds do.

What changed

  • CloudStartChat.passesHarnessLogin(isDogfoodBuild:setting:) = setting ?? isDogfoodBuild. The process reads the build type from the existing DevTools.isEnabled (a Debug compile, or a com.cmuxterm.app.nightly[.<tag>] bundle, which includes the NEXT nightly com.cmuxterm.app.nightly.cmux-next). The cmux.cloud.passHarnessLogin default still wins when set.
  • New-workspace setup: when the switch is off (the shipping app), the note says "Sign in to Claude or Codex on the VM itself: its chat offers a one-click sign-in." It used to say "Provider credential setup is unavailable with this Cloud connection." This is the new CredentialAvailability.signInOnMachine case, with translations for all 21 locales. This was a review follow-up on #30183.
  • Tests: the nightly, DEV, shipping and RC bundles under the default; the switch's truth table; and the wizard's resolve with the switch off (personal VM vs team VM).

Risk

NEXT nightly users get the Mac-login transfer again from the card, the start-chat pass and the new-workspace setup, as before #30183. Release and RC builds stay off. To make a nightly behave like production: defaults write com.cmuxterm.app.nightly.cmux-next cmux.cloud.passHarnessLogin -bool NO.

Agent session: agent session

šŸ¤– Generated with Claude Code


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need.


Summary by cubic

The NEXT nightly build passes the Mac's Claude/Codex login to Cloud machines by default again; the shipping app keeps the transfer off.

  • Dogfood builds (Debug compiles and NIGHTLY bundles) default the cmux.cloud.passHarnessLogin switch on; release and RC builds default it off, and the explicit setting still wins.
  • With the switch off, new-workspace setup now directs users to sign in on the VM itself instead of saying provider credential setup is unavailable.