Repository navigation
Cloud: a Codex chat's start runs the Mac's broker before the first prompt - #33881
Conversation
…ompt A cloud.startChat start passed a login only for Claude: Codex was skipped as no-transfer-for-harness, so the first Codex prompt on a Cloud machine failed until the turn card's broker sign-in (cmux#33489). The harness login rules (cmux-cloud-start-core) now let a Codex start through the same checks as Claude's (gate, signed in, the caller owns the machine, an owner or team guest) and answer install (codex-broker), with no Claude login probe and no confirm of their own: the broker shows its device-code sign-in, with Cancel, only when the Mac holds no Codex login for the account. Release keeps Codex out (the broker is DEV and dogfood only); a run that may show no prompt passes nothing instead of refusing. The app forwards the install to CloudCodexBrokerAdapter.run. Fixes #33489 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-3bab30503f0b9a7059e5
|
cmux status (one comment, edited in place; each line is updated by the job that owns it) Review App of this head (app.zip, kept 1 day)
red: cmux-next checks (god files, concurrency, crash safety, l10n); no finished base run on 33dc4e8 to compare; do not merge until green; see lane-rules Shipped in:
|
|
Owned by an agent session · session |
|
Found 8 test failures on Blacksmith runners: Failures
|
|
Review (codex gpt-6.1-sol xhigh, router-review): BLOCK at 5bb7a89 BLOCK at 5bb7a89
|
…orce (E0618 fix) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-3bab30503f0b9a7059e5
Bugbot needs on-demand usage enabledBugbot uses usage-based billing for this team and requires on-demand usage to be enabled. A team admin can enable on-demand usage in the Cursor dashboard. |
|
Review (codex gpt-6.1-sol xhigh, router-review): BLOCK at 1da462b BLOCK at 1da462b
|
acpmux's Codex bridge refuses broker access on a team guest, so a team machine keeps its team login (review at 1da462b). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-3bab30503f0b9a7059e5
|
Review (codex gpt-6.1-sol xhigh, router-review): BLOCK at a2c678e BLOCK at a2c678e Visual verdict: no images; Leo tries the build
Rust and Swift tests were not run because neither toolchain is installed. |
…and a scripted start never waits on a device code A failed repeat transfer would revoke the access the machine's other Codex chats use, so a start on a machine the broker already delivers to keeps it (CloudCodexBrokerAdapter.delivers). cmux cloud start-session passes no device-code prompt: with no broker login on the Mac it opens the session as before (review at a2c678e). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-3bab30503f0b9a7059e5
|
Review (codex, router-review): SHIP at 83d15fb Reviewer: codex gpt-6-astra high, fast tier. Follow-ups: 2. Each lands as an issue in this repo that links this receipt; the lane that opened the PR fixes it forward. SHIP at 83d15fb
Follow-ups:
|
![Fix with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/fix-with-codesmith-light-3x.png)
Fixes #33489.
What changed
cmux-cloud-start-coreharness_login): a Codex start no longer stops atno-transfer-for-harness. It goes through the same checks as Claude's (build gate, signed in, the caller owns the machine, thenonechoice) on anownerguest only: ateamguest keeps its team login, since acpmux's Codex bridge refuses broker access there) and answersinstall (codex-broker). It reads no Claude login probe and asks no confirm of its own: the broker shows its own device-code sign-in (with Cancel and its scope disclosure) only when the Mac holds no Codex login for this account, and otherwise delivers short-lived access silently. Release keeps Codex out, as the Account wizard already does (the broker is DEV and dogfood only; the Release consent covers the Claude login alone).--login machinekeeps the machine's own sign-in, and a run that can show no prompt passes nothing rather than refusing the start.CloudStartChat.passHarnessLoginreads the guest kind for Codex too, skips the Claude-only machine login probe for it, and forwards the install toCloudCodexBrokerAdapter.run(the same call the turn card's recovery and the Account wizard make).CloudHarnessLoginDecision.Reasongainscodex-broker. A machine the broker already serves for this account is left alone (CloudCodexBrokerAdapter.delivers), so a failed repeat transfer can never revoke the access its other Codex chats use.cmux cloud start-sessionpasses no device-code prompt: a scripted run never waits on one, and with no broker login on the Mac it opens the session as before. CmuxNextApp lines: -1.a_codex_start_runs_the_broker_before_the_first_promptfails on base (Codex wasskip (no-transfer-for-harness)) and passes here; the existing tests that pinned the old Codex skip are updated.Automatic failed-turn recovery for Codex (the turn card's silent path, which stays Claude-only) is not changed here: with the start delivering access, the first prompt no longer needs it.
Overlap: #30171 (capture-only integration PR) touches
CloudStartChat+Login.swift; nothing here conflicts with its intent. The quit/update revoke path (#33482) is not touched.Risk: low-medium. DEV and dogfood builds only; a Codex start on the person's own machine may now show the broker's device-code dialog before the chat opens when the Mac has no Codex login yet (Cancel opens the chat as before). Release is unchanged.
Agent session: agent session
🤖 Generated with Claude Code
Open in [code]smith · Need help on this PR? Tag
@codesmith-botwith what you need.Summary by cubic
Fixes #33489: a Codex chat's start now runs the Mac's broker before the first prompt, so the first Codex prompt on a Cloud machine no longer fails when no login has been transferred.
install (codex-broker), with no Claude login probe and no extra confirm.Written for commit 1da462b. Summary will update on new commits.