codex - 💡(How to fix) Fix Codex mobile Remote Control shows only one macOS host and overwrites it with the last active desktop host

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…

Root Cause

The current behavior is risky because the iOS app silently changes the visible host depending on which desktop host is active. Since each host has different local projects, files, credentials, permissions, tools, and environment, the user may think they are controlling one Mac while the active host has silently changed to another Mac.

RAW_BUFFERClick to expand / collapse

What version of the Codex App are you using (From “About Codex” dialog)?

Version 26.513.31313 (2867)

What subscription do you have?

ChatGPT Pro 20x

What platform is your computer?

Darwin 25.5.0 arm64 arm

What issue are you seeing?

ChatGPT iOS Codex Remote Control only shows one macOS Codex Desktop host even though two separate Macs are running Codex.

The visible host in the iOS app changes automatically depending on which Mac is active. When only Host A is running Codex, the iOS app shows Host A. When Host B starts Codex, the iOS app automatically changes the visible host from Host A to Host B without scanning a new QR code or manually re-pairing. When Host B is stopped, the iOS app automatically changes back to Host A.

This looks like a last active host wins behavior, or a single visible host slot being overwritten by whichever macOS Codex host is currently active.

Both desktop apps show the same iPhone controller. Also, if I click Revoke access on either Mac, the other Mac immediately loses access as well. This may be intentional if controller authorization is account-level or workspace-level, but host visibility should still be per machine.

The two Macs have different macOS host identities:

  • ComputerName differs
  • LocalHostName differs
  • HostName differs
  • hostname differs

The two Macs also have different Codex remote enrollment hashes from ~/.codex/state_5.sqlite.

Additional context:

  • Host A is a MacBook Pro.
  • Host B is a Mac Studio.
  • Host B was migrated from Host A using macOS Migration Assistant.
  • Real hostnames are intentionally redacted here.

What steps can reproduce the bug?

  1. Use two Macs signed into the same ChatGPT account and workspace.

    • Host A: MacBook Pro
    • Host B: Mac Studio
  2. Confirm the two Macs have different macOS host identities by running the following on both Macs:

    scutil --get ComputerName 2>/dev/null scutil --get LocalHostName 2>/dev/null scutil --get HostName 2>/dev/null hostname

  3. Confirm the two Macs have different Codex remote enrollment hashes by running the following on both Macs:

    sqlite3 ~/.codex/state_5.sqlite '.dump remote_control_enrollments' 2>/dev/null | shasum -a 256

  4. Quit Codex on Host B.

  5. Start Codex on Host A.

  6. On ChatGPT iOS, log out and log back in if needed, then complete the Remote Control authorization prompt.

  7. Open ChatGPT iOS Codex Connections.

    Observed:

    • The iOS app shows Host A.
  8. Keep Codex running on Host A.

  9. Start Codex on Host B.

  10. Do not scan a new QR code. Do not manually re-pair Host B.

  11. Wait for the iOS app to refresh.

Observed:

  • The iOS app automatically changes the visible host from Host A to Host B.
  • The iOS app still shows only one host.
  • Both macOS Codex apps show the same iPhone controller as connected.
  1. On Host B, stop Codex and related Codex remote processes:

pkill -x Codex 2>/dev/null || true pkill -f 'codex.*remote-control' 2>/dev/null || true pkill -f 'codex.*app-server' 2>/dev/null || true

  1. Wait for the iOS app to refresh again.

Observed:

  • The iOS app automatically changes back from Host B to Host A.
  • Again, only one host is visible.
  1. Additional observation:
  • If I click Revoke access on either Host A or Host B, the other host immediately loses access too.

What is the expected behavior?

ChatGPT iOS should show both active macOS Codex Desktop hosts, or provide a clear host switcher that lets me choose which host to control.

Expected:

  • Host A and Host B should appear as separate connected hosts.
  • Starting Codex on Host B should not silently replace Host A in the iOS host list.
  • Stopping Codex on Host B should not be required for Host A to reappear.
  • If iPhone controller authorization is intentionally account-level or workspace-level, that is fine, but host registration and host selection should still be per machine.
  • If the current mobile Remote Control preview only supports one visible macOS host at a time, the UI or documentation should make that limitation explicit.

The current behavior is risky because the iOS app silently changes the visible host depending on which desktop host is active. Since each host has different local projects, files, credentials, permissions, tools, and environment, the user may think they are controlling one Mac while the active host has silently changed to another Mac.

Additional information

No response

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING