Codex App 26.519.22136: Remote Control setup authenticates but shows no devices
Codex App 26.519.22136 Remote Control Regression Report
Summary
After updating the Codex macOS app, the desktop app can no longer set up or control remote Codex instances from the Mac. The setup flow completes authentication, but the app shows no available devices. The same remote devices still work from the Android ChatGPT/Codex mobile app, so this looks specific to the updated macOS desktop control surface rather than the remote hosts being fully offline.
Environment
- Product: Codex Desktop App for macOS
- App bundle identifier:
com.openai.codex - Codex App version:
26.519.22136 - App bundle build:
3003 - Bundled CLI:
codex-cli 0.133.0-alpha.1 - PATH CLI before repair:
codex-cli 0.130.0 - PATH CLI after repair attempt:
codex-cli 0.133.0 - macOS:
26.3build25D125 - Architecture:
arm64 - Date observed:
2026-05-21 - Affected surface: Settings > Connections > Control other devices / Codex mobile setup
User-visible behavior
- Open Codex Desktop on macOS.
- Go to Settings > Connections / setup flow.
- Click setup for controlling remote devices.
- Complete the ChatGPT auth flow successfully.
- Return to Codex Desktop.
- No devices are shown, even though the same devices are reachable and usable from Android.
Expected: after successful auth, connected/available hosts should appear and be controllable from the Mac app.
Actual: the device list is empty / remote hosts are not usable from the Mac app.
Local evidence
Official docs say the host should appear after setup succeeds, assuming the host is awake, online, signed in to the same account/workspace, and remote control is enabled.
The local macOS app logs repeatedly show remote-control connection failures:
remote_connections.connection_state_changed
error={"code":"connection-failed","message":"Remote control enrollment requires explicit authorization in settings."}
state=error
The authorization flow itself appears to finish, but with an account identifier representation mismatch:
remote_control_client_enrollment_start_request
selectedAccountUserId=user-<redacted>__<account_id>
tokenAccountUserId=user-<redacted>__<account_id>
remote_control_client_enrollment_start_response
responseAccountUserId=user-<redacted>
remote_control_client_enrollment_finish_response
scopes=["remote_control_controller_websocket"]
So setup can complete and issue the controller websocket scope, but the resulting Mac controller still cannot connect to any previously added remote-control hosts.
The app also shows a feature/version mismatch at startup:
unsupported feature enablement `auth_elicitation`
currently supported features are apps, memories, mentions_v2, plugins, remote_control, tool_suggest, tool_call_mcp_elicitation
codex doctor reports:
Codex Doctor v0.133.0 · macos-aarch64
auth: mixed auth signals: ChatGPT login plus API key env var; HTTP reachability uses API-key mode
websocket: connected (HTTP 101 Switching Protocols)
state: databases healthy
app-server: not running (ephemeral mode)
The state DB has only one persisted remote-control enrollment, last updated 2026-05-15, while current logs show the app trying and failing to connect to multiple newer remote-control host IDs.
Repair attempt already tried
The PATH CLI was updated to match the new remote-control CLI surface:
npm install -g @openai/codex@latest
codex --version
codex-cli 0.133.0
This fixed local CLI version skew, but does not by itself explain or resolve why the updated macOS app setup flow authenticates successfully and then lists no devices.
Why this looks like a product/regression issue
- Android can still control the remote Codex devices.
- The macOS app completes auth but shows no devices.
- Local app logs point to remote-control enrollment/authorization state, not basic network failure.
- The app logs also show
auth_elicitationbeing requested by one side and rejected by the app-server side, suggesting a desktop frontend/app-server feature mismatch or stale enrollment compatibility issue. - Current app version is newer than earlier remote-control bug reports and still reproduces with
26.519.22136.
Related public issues
openai/codex#22763reports a similar Remote Control setup failure around account/enrollment validation.openai/codex#23725reports a relatedauth_elicitationdesktop/app-server mismatch.
Requested help
Please confirm whether 26.519.22136 has a known regression in Remote Control enrollment / device listing. If there is a local recovery step beyond reauth and updating the CLI, please document it. If full logs are needed, I can provide sanitized logs privately through the OpenAI support channel.
11 Comments
Potential duplicates detected. Please review them and close your issue if it is a duplicate.
Powered by Codex Action
Follow-up after additional local repair attempts:
codex app-server daemon restart.~/.codex/packages/standalone/current/codexwas missing.0.133.0,codex doctorreports the runtime as standalone and the background app-server as running in persistent mode.codex app-server daemon enable-remote-control; it now reportsremoteControlEnabled: true.electron-remote-control-client-enrollments, to force a fresh controller enrollment.Current remaining symptom:
remote-control:env_*hosts.Remote control enrollment requires explicit authorization in settings.unsupported feature enablement auth_elicitation.Interpretation:
The Mac now has the required standalone daemon and local remote-control authorization enabled, so the remaining failure appears to be either:
codex app-server daemon enable-remote-control/ restart on the host side, orSecond follow-up with screenshot/retry result:
Remote control authorized, confirming Mac/controller enrollment succeeds.No signed-in devices available.hasExistingEnrollment=falseremote_control_client_enrollment_finish_responsescopes=["remote_control_controller_websocket"]refresh_remote_control_completedautoConnectConnectionCount=4nextConnectionCount=4shared_object_synced connectionCount=4remote-control:env_*connections then each fail with:Remote control enrollment requires explicit authorization in settings.Current interpretation:
The Mac/controller-side setup now succeeds. The app appears to know about the existing four remote-control connections, so the empty Add Device picker may simply have no additional devices to add. The remaining blocker is that each existing remote host refuses the controller connection because remote control is not explicitly authorized on the host side, or the Mac app is applying a newer authorization gate that the host-side app-server state does not satisfy.
Likely required repair:
Each remote host needs the standalone Codex package installed/updated and remote control explicitly enabled/restarted on that host:
Third follow-up with root cause narrowed to the desktop controller enrollment cache key:
I inspected the updated Codex Desktop bundle and correlated it with the local logs/state. The failure is not that the Mac authorization flow fails; it succeeds. The bug appears to be that the authorized controller enrollment is persisted under one account-user-id form, but the remote connection path looks it up under the other form.
Observed flow:
remote_control_client_enrollment_start_requestuses the qualified account-user id from the token:``
text
``tokenAccountUserId=user-<redacted>__<account_id>
tokenAuthUserId=user-<redacted>
headerChatGptAccountId=<account_id>
remote_control_client_enrollment_start_responseandfinish_responsereturn the unqualified user id:``
text
``responseAccountUserId=user-<redacted>
accountUserId=user-<redacted>
scopes=["remote_control_controller_websocket"]
``
text
``Remote control enrollment requires explicit authorization in settings.
No signed-in devices available, but the app logs show the known remote-control connections still exist:``
text
``refresh_remote_control_completed autoConnectConnectionCount=4 nextConnectionCount=4 previousConnectionCount=4
shared_object_synced connectionCount=4
Local workaround validated at the state-file level:
I backed up
~/.codex/.codex-global-state.jsonand duplicated the existingelectron-remote-control-client-enrollmentsentry under the qualified account-user-id key. This is expected to require a full Codex Desktop restart because the running Electron process may already have global state loaded in memory.Proposed product fix:
When the enrollment start response account user id is accepted as equivalent to the token account user id via the account-id fallback, persist/alias the enrollment under both keys, or normalize to one canonical account-user-id before both read and write. The key invariant is: after the settings authorization flow succeeds, the reconnect path without a step-up callback must be able to find the same controller enrollment.
Yeah, also facing issues with RC!
I also pushed a public diagnostic branch from this investigation:
https://github.com/H-H-E/codex/tree/codex/doctor-remote-control-controller-diagnostic
Commit:
https://github.com/H-H-E/codex/commit/6967dbfc94
This adds a read-only
codex doctorcheck for the Desktop controller-enrollment state that detects the empty signed-in-devices case found here: remote devices exist, a controller enrollment exists for the current ChatGPT user, but the selected account-user enrollment key is missing. It reports only redacted counts/booleans plus remediation.I attempted to open a PR from the fork, but GitHub returned:
H-H-E does not have the correct permissions to execute CreatePullRequestfor this auth context.Verification completed locally:
/opt/homebrew/bin/cargo-fmt --all -- --checkgit diff --checkCARGO_INCREMENTAL=0 CARGO_NET_GIT_FETCH_WITH_CLI=true RUSTFLAGS='-C debuginfo=0' /opt/homebrew/bin/cargo test -p codex-cli desktop_remote_control --bin codexCARGO_INCREMENTAL=0 CARGO_NET_GIT_FETCH_WITH_CLI=true RUSTFLAGS='-C debuginfo=0' /opt/homebrew/bin/cargo test -p codex-cli current_chatgpt_account_user_identity --bin codexMaintainer-actionability follow-up after checking the related reports and contribution policy:
26.519.22136 (3003)with the newer symptom where setup succeeds and the Add Device picker is empty.I also noticed
docs/contributing.mdsays external code contributions are by invitation only and that uninvited PRs are closed without review. I therefore pushed the diagnostic branch for review/cherry-pick rather than opening more noisy PR attempts:https://github.com/H-H-E/codex/tree/codex/doctor-remote-control-controller-diagnostic
The branch is intentionally narrow and public:
codex doctorcheckIf this direction is useful, could a Codex maintainer either invite a PR from that branch or confirm the preferred implementation shape? For the actual product fix, my recommendation remains to make the Desktop enrollment read/write key invariant explicit: when the settings step-up accepts
user-...anduser-...__<account_id>as the same ChatGPT account context, persist/alias the controller enrollment under the same canonical account-user id that the no-step-up reconnect path will use.having the same issue. the remote devices are available on my iPhone but not on my mac. Seems to be an issue with latest update.
EDIT--can't even connect from my phone anymore after updating server and redoing login thinking that would help
After updating to Desktop 26.519.31651 / build 3017, Mac Desktop now sees the other Mac.
Presence updates work: disabling discovery/control on the remote Mac immediately changes its status to offline, and enabling it changes it back to "Connected".
However the status dot remains gray rather than green, so the Mac cannot start controlling the other Mac.
Mobile can control both Macs successfully.
Having trouble connecting iOS to Codex via new ChatGPT desktop app.
GPT 5.5 wrote this for me to send:
I am still reproducing this issue with Mac-to-Mac Remote Control.
Environment:
26.707.41301, build5103, on both MacsTroubleshooting already attempted:
quick_checkThe controller enrollment itself completes successfully. The sanitized log sequence is:
However, immediately after the successful enrollment, the desktop app receives no remote connections:
When the app then attempts to use the target host, it fails with:
I also verified locally, without exposing the identifiers, that:
This does not appear to be an MFA, account, workspace, version, network reachability, or corrupted-database problem. Authentication and controller enrollment finish successfully, but the macOS controller receives an empty host list. The same target remains accessible from iOS.
This looks consistent with the desktop controller/device-list synchronization problem described in this issue. Please let me know if a sanitized diagnostic bundle or additional redacted log lines would help.