Repository navigation
feat(cloud): use Codex broker for auth recovery - #26211
Conversation
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. |
a18af07 to
90569ab
Compare
d0db466 to
9b8298a
Compare
|
cmux status (one comment, edited in place; each line is updated by the job that owns it) Not verified: macOS jobs did not run: compile and app tests were skipped on CI passes on Written by |
9b8298a to
70d2f2b
Compare
70d2f2b to
99fffeb
Compare
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. |
90569ab to
5d1bcbe
Compare
|
Owned by an agent session · session |
99fffeb to
02ca54f
Compare
0aea78b to
c865cd1
Compare
|
Bead |
Agent-Session: cloud-setup-auth-error-codex-broker
02ca54f to
cde5291
Compare
|
The feat-cmux-next push run https://github.com/manaflow-ai/cmux/actions/runs/40581569324 at afa75ae failed: cmux-next checks (god files, concurrency, crash safety, l10n). |
|
The feat-cmux-next push run https://github.com/manaflow-ai/cmux/actions/runs/40577589011 at 20b8793 failed: cmux-next checks (god files, concurrency, crash safety, l10n). |
|
Shipped in:
|
Summary
Codex authentication recovery now uses the account-scoped refresh broker after confirmation. This Mac remains the single refresh-token holder; only a short-lived access token is delivered to the selected VM. The native device-code prompt is cancellable, bounded, and shows the code in cmux instead of a VM terminal. Claude recovery remains unchanged.
The recovery dialog explains exactly what moves and reminds the user to keep cmux running on this Mac so the broker can renew access. Cancellation, dismissal, logout, and scope changes stop the in-flight prompt without retrying the failed turn. Debug-only fixtures and focused tests cover cancellation, already-cancelled tasks, browser handoff, and successful retry.
Dependencies
The broker and auth-recovery prerequisites have landed. This auth-only follow-up is based on NEXT at
1c1632b0eb6f53b647adf485914d21a67c1cd74f; it preserves the native backend availability check and the account, team, tab, session, and daemon guards from #26148. The wizard switch is separate.Operational rules
The OpenAI CI/CD auth guidance says:
The broker follows those rules by keeping refresh state on the user's Mac, serializing refreshes, and delivering only short-lived access to confirmed VMs. It never copies a shared refresh seed into a VM, writes credentials to the repository, or prints them to logs.
Note coverage
This addresses the setup note “Claude failed to authenticate” and the requirement to make “manual transfer claude credentials to VM” explicit and confirmed. Codex recovery now has the same one-click, user-confirmed path while stating that its refresh credential stays on the Mac.
Validation
prepush-gate.py --base 1c1632b0eb6f53b647adf485914d21a67c1cd74f— pass (no new violations; app-size warnings only).cde52914522c43d0644641163b93d19d87c5fa42:CloudCodexDeviceRecoveryTests,CloudCredentialRecoveryTests, andCloudCodexBrokerAdapterTests, cmux-ci step33a791a56a95b31fe3aeda26: PASS (exit 0); app/test package compiled and all three suites passed.Native UI evidence
Native cmux app captures at
cde52914522c43d0644641163b93d19d87c5fa42, artifact job2ea571994eaade549d021b8f. The before fixture reproduces the prior disclosure text from1c1632b0eb6f; it is not an execution of that base build. The after disclosure and device-code prompt use the production native dialog specs. All fixtures are inert; no real credentials or sign-in were used. Capture privacy checks passed.Before — previous per-VM disclosure (inert reconstruction of existing text)
After — broker disclosure
After — native device-code prompt (synthetic DEMO-CODE)
Review (codex gpt-6-astra xhigh, review-26211): SHIP at cde5291. No findings.
Agent session: agent session