Repository navigation
Codex Remote Control unstable / disconnecting across Android and iOS while Windows Desktop works normally #39974
Description
Summary
Codex Remote Control is persistently unstable or unavailable while Codex Desktop on Windows continues to work normally.
The issue reproduces across three different mobile phones and both Android and iOS, all connecting to the same Windows Codex host.
Environment
- Host: Windows PC running Codex Desktop
- Codex Desktop itself works normally and can communicate with the model
- Mobile devices tested:
- Samsung Galaxy Z Fold7 / Android
- A second Android phone
- iPhone / iOS
- Same ChatGPT/Codex account and same Windows Codex host
Symptoms
- Mobile Remote sometimes reports that it cannot connect to the ChatGPT/Codex desktop host.
- The desktop host can appear offline/red on mobile even though Codex Desktop is open and functioning normally.
- Occasionally Remote connects successfully for a very short period and then disconnects again.
- On iPhone, the UI reports an error equivalent to: “Error loading messages: The connection to Codex has expired.”
- Older existing threads frequently fail to load, showing a gray/loading screen that repeatedly flashes/reloads.
- Newly created threads initially worked more reliably than older threads, but Remote connectivity later became unstable even for new sessions.
- Mobile devices can still receive Codex Desktop notifications, including Approval Required notifications and task/status updates, even while the Remote UI says the desktop connection is unavailable.
Troubleshooting already performed
- Restarted Codex Desktop
- Restarted the Windows PC
- Restarted mobile apps/devices
- Reconnected Remote Control
- Revoked and re-paired Remote Control
- Tested three different mobile phones
- Tested both Android and iOS
- Created new Codex conversations
- Tested different existing conversations
- Archived older/inactive conversations/projects to reduce the active thread list
The problem persists. Re-pairing may allow a very brief connection, but it quickly becomes unstable/disconnected again.
Important observation
This does not appear to be a general Codex Desktop connectivity issue. Codex Desktop remains fully usable on Windows.
Because the problem reproduces across three independent mobile devices and two operating systems while the Windows host remains functional, a single-device mobile app problem seems unlikely.
There may be two related failure modes:
- Remote host/session transport instability, where mobile clients cannot maintain a connection to the Windows host.
- Existing-thread resume/hydration failure, where older threads show a gray flashing/loading screen while newly created threads have sometimes worked.
The fact that mobile push notifications/approval notifications continue to arrive while the Remote UI cannot maintain the session may also help isolate the failing layer.
Expected behavior
When Codex Desktop is running and Remote Control is enabled, paired mobile devices should remain connected and reliably open both existing and new Codex threads.
Actual behavior
Remote Control either:
- cannot connect to the desktop host,
- connects briefly and disconnects,
- fails to load existing threads, or
- repeatedly reloads/flashes while opening a thread,
while Codex Desktop itself continues operating normally.
Please investigate whether this is related to Remote Control enrollment/session state, the Remote relay/transport layer, or thread resume/hydration.
I can provide screenshots, timestamps, logs, and additional diagnostics if needed.
Activity
github-actions commentedon Aug 21, 2026
Potential duplicates detected. Please review them and close your issue if it is a duplicate.
Powered by Codex Action
laggingedge commentedon Aug 21, 2026
ChatGPT Remote for Android cannot reach Windows host
Summary
ChatGPT Remote on Android lists the Windows host
Jason1but shows it offline and fails with:The desktop app is open, awake, online, authenticated, paired, and internally reports Remote state
connected. A phone retry produces no new Remote event in the desktop log.Environment
OpenAI.Codex_26.818.3698.0_x64__2p2nqsd0c76g09PLM9XGG6VKS26.818.3698.00.149.0-alpha.4Microsoft Store reports no upgrade currently available for this installation.
Reproduction
Jason1.Desktop evidence
At startup, the desktop reports Remote enabled and initially connected:
The same startup then changes the Remote manager to
connection-failedbecause the desktop enables an experimental feature that its bundled app server no longer accepts:The installed Codex runtime reports:
The packaged desktop maps Statsig gate
1663911278to feature keyapps_mcp_path_override. No occurrence of the gate value or feature name exists in user configuration or app state; it is enabled at runtime by the desktop feature evaluation.Separate plugin metadata defect found during diagnosis
The global plugin catalog release below also contains an invalid 313-character plugin-level default prompt, while the desktop parser limit is 128 characters:
Plugin_271fcfe114788191b30908b85bd9ade6ngs-analysis1.0.3Locally shortening the generated manifest removed this prompt-limit error from fresh Remote startup logs, but Android Remote still failed. The online catalog also restores the malformed 313-character value at each startup. This catalog issue should be corrected upstream, but it is not sufficient to explain the remaining phone failure.
Requested OpenAI action
Please investigate the desktop/feature-rollout incompatibility for package
26.818.3698.0:1663911278(apps_mcp_path_override) for app-server versions where the feature is markedremoved, or ship a compatible desktop/app-server build.connection-failedwhile its state is otherwiseconnected.1.0.3plugin-level default prompt to at most 128 characters.Expected result
The Windows host should register as reachable through the secure Remote relay, and selecting
Jason1from Android should open the host’s chats rather than showing the desktop-connectivity error.Official feature documentation: https://learn.chatgpt.com/docs/remote-connections
dhar174 commentedon Aug 21, 2026
Same issue here.
samuelboland commentedon Aug 21, 2026
Same as well. However, I'm using a Linux host. I have the same exact issues.
DonkeyHotNew commentedon Aug 21, 2026
Same problem here. It all started on the afternoon of August 20, 2026, and the disconnects keep happening from time to time.
arthurlapertosa commentedon Aug 21, 2026
Same here. Short threads work, but not long threads. I also connect my android phone to Linux hosts, and it also cannot load long threads from them.
Skarian commentedon Aug 22, 2026
Same issues here Using android mobile Chatgpt app and Linux CLI instances hosted on VMs.
It's been working really well until recently but now there are two issues:
pueblokc commentedon Aug 22, 2026
@tibo-openai — could you please take a look at this Remote Control regression?
This appears to be the clearest umbrella report, with several independent same-day reproductions: #39815, #39856, #39931, #39947, #39954, and #40008.
The common pattern is: the desktop/CLI host remains healthy and pairing often succeeds, but Android/iOS Remote disconnects, shows the host offline or “Transport unavailable,” or fails to hydrate longer threads. Multiple reporters say it began around August 20–21 and persists after restarting, re-pairing, clearing cache, and testing different devices/networks. Several traces show the Remote connection reaching
initializeand then closing immediately on newer app-server builds.An acknowledgment or status update would help users avoid destructive local troubleshooting while the regression is investigated.
mikelin740510-hub commentedon Aug 23, 2026
Update after further testing:
From the evening of August 22 through the afternoon of August 23 (Asia/Taipei), Remote recovered to roughly 90% of its normal reliability. I was able to use it for several hours with almost no problems, so I initially believed the issue had been fully resolved.
However, later on August 23, the connection became unstable again. Many connection attempts now fail, and it may occasionally connect only briefly before becoming unreachable again.
Wi-Fi and 5G show the same behavior, while the Windows host remains awake, online, and fully usable locally.
I also no longer believe that long threads or image-heavy projects are the primary cause. Those same large projects, including projects containing many generated images, previously worked smoothly over Remote. The current behavior appears more consistent with an intermittent Remote transport or session-registration problem than a deterministic project-size or attachment limit.
todd866 commentedon Aug 25, 2026
I can reproduce a closely related failure with a macOS host and the ChatGPT iOS client. My diagnostics suggest that, at least in this case, the Remote transport remains healthy and the failure occurs while resuming/hydrating larger existing task histories.
Environment
26.818.41509(build6962)0.149.0-alpha.4.1Reproduction
Diagnostic observations
remoteControl/status/readandremoteControl/enablereturn successfully.This appears consistent with the issue's second proposed failure mode: existing-thread resume/history hydration, rather than basic host discovery or Remote transport failure.
Expected: large existing tasks load normally through Remote.
Actual: restarting briefly clears the symptom, then large established tasks fail again while smaller tasks still load.
I have intentionally omitted task names, IDs, account identifiers, and raw rollout contents, but can provide sanitized timestamps or log excerpts if maintainers need them.
renovatorruler commentedon Aug 27, 2026
Same issue, but on Mac desktop + iOS. Tried all the steps suggested but same result.
Southers commentedon Aug 27, 2026
Same issue on IOS remote to windows. Worked perfectly until this week, now I can't get a reliable connection. When it does connect sometimes the chat is quite out of date.
takaok5 commentedon Aug 29, 2026
Here too there is the same problem. Months later, in addition to the huge amount of tokens spent to look for a momentary fix, this is simply ridiculous for openai
eheikkinen commentedon Aug 30, 2026
Additional Windows/Android reproduction with host-side diagnostics (2026-08-30).
Environment:
Symptoms:
Sanitized desktop log evidence:
remoteControl/pairing/startcompletes witherrorCode=null.authenticatedAccountPresent=trueandresult=succeeded.remoteControl/enablecompletes witherrorCode=null.remoteControl/client/listcompletes witherrorCode=null, but reconciliation still reportsnextConnectionCount=0.state=connected/nextState=connectedwhile attachingerror.code=connection-failed./backend-api/wham/tasks/listreturned 401 withhadToken=false; after successful login, Remote still had zero reconciled connections.The “Last connected” heartbeat therefore appears able to update independently while device reconciliation/thread-list availability remains broken. Expected: once pairing and authentication succeed, the paired mobile client should be reconciled and the thread list should populate.
takaok5 commentedon Sep 7, 2026
Update — 7 September 2026: sanitized local database/history repair scripts
Remote currently appears stable again in my Windows-to-Android setup (Windows Desktop 26.901.6511.0, bundled app-server 0.153.4).
During local troubleshooting we repaired specific project-assignment and thread-history/projection inconsistencies. I am sharing the actual scripts below, with personal paths and identifiers replaced by placeholders. I cannot isolate the contribution of these repairs from subsequent app updates, restarts and re-pairing, so this is not a confirmed general fix for Remote Control.
The original case-specific checks are retained. Replace the
<...>placeholders and review those checks before use; back up the affected data and close Codex/CloudCLI before applying repairs. Only source code is included—no databases, backups, logs or conversation contents.Expand a section to view/copy its script.
audit_project_assignment_reconciliation.py — Audit project assignments (read-only database access)
backup_before_assignment_reconcile.py — Back up the affected databases and configuration
reconcile_thread_projects.py — Reconcile the diagnosed project-assignment mismatches
repair_inactive_history.py — Repair the diagnosed ordinal and projection-checkpoint mismatches
repair_current_history_offline.py — Offline repair of the diagnosed history and user-event flags
martin-ritchie commentedon Sep 7, 2026
Still reconecting, having all the newest versions.
3/4 i cant do a thing
newDevPL commentedon Sep 10, 2026
The same issue is still happening. Pixel 10 Pro XL, tested on home WiFi and 5G networks. It is now much worse than just a few days ago. Now it will disconnect after few seconds, unable to send follow up messages to the host app.
martin-ritchie commentedon Sep 11, 2026
Exactly the same on Pixel 8 PRO
lowbyyj commentedon Sep 15, 2026
Adding a continuing Windows/Android reproduction, plus a notification-entry symptom observed on September 15.
Environment and recurring reconnects
Additional symptom: opening a completed-task notification
Notification delivery itself works; the user-visible failure is in opening the referenced conversation and establishing a usable Remote view. The delay has not been timed, and I have not captured a mobile request trace. I cannot yet attribute it to the approximately 30-second
thread/listtimeout reported in #45246 or establish that it has the same cause as the reconnects.My earlier sanitized host diagnostics recorded three September 7 relay disconnects with host-side recovery in approximately 2–3 seconds, while desktop work continued. Those were measurements on the earlier build, not fresh measurements on 26.908.9136.0, and do not measure full mobile UI recovery.
Is there a supported Android diagnostic export or specific event trace that would help distinguish notification deep-link navigation, Remote bootstrap, and relay/session recovery in this case?
limonovaa commentedon Sep 15, 2026
Additional Windows host diagnostics — 2026-09-15
I am experiencing a similar Remote failure with an Android phone and a Windows host. Remote previously connected; sending a message from the phone caused the connection to drop. After repeated attempts, Remote stopped establishing a usable connection. Restarting the phone did not resolve it. The Windows desktop app remains usable locally.
Environment
Host-side evidence
remote control websocket pong timeoutevents between 07:41:38 and 08:07:24 UTC. These are followed by writer shutdown and reconnect cycles. Example:These entries do not identify who initiated closure or why. The phone-attempt time is approximate, and there is no mobile trace to establish a one-to-one correlation. The earlier pong timeouts should not automatically be treated as the cause of this later failure.
Remote is enabled and the PC enrollment exists. The state database reports
remote_control_enabled=1forCodex Desktop.remoteControl/pairing/startreturnederrorCode=nullat 15:25:43 and 15:30:05 UTC, which does not by itself prove completed phone pairing. Revoke and disable/enable operations are present before diagnostics began; the diagnostic collection itself made no resets, pairing changes, restarts, or reinstallations.No HTTP 503,
Transport unavailable, oroutbound queue filledwas found in the checked retained events. The logs are live/rolling, so this is a scoped negative finding, not proof that those errors never occurred.Older authentication errors are a separate finding. On September 10–12 UTC, retained Remote logs include HTTP 403 during refresh and
Country, region, or territory not supported. Those errors are not established for the latest evening attempt and should not be assumed to explain it.Request
Could maintainers correlate the timestamps and client closures with Remote relay/session logs, and help distinguish client-channel termination from host WebSocket liveness failure? The available host logs confirm repeated disconnects but do not establish whether the latest failure originates on the network path, mobile client, desktop client, or service.
The accompanying key-event excerpt removes account, installation, server, environment, PC-name and user-path identifiers. It contains no credentials, cookies, or chat contents. Full local diagnostic collection is also available in sanitized form if needed.
Codex-Remote-public-evidence-2026-09-15.zip
aaflyagin commentedon Sep 18, 2026
Windows/Android reproduction with an 8-hour capture — 18 September 2026
Remote repeatedly reconnects when leaving a thread for the thread list, during an active task, and while typing. Occasionally it requires pressing Connect manually. The symptoms have occurred on both Wi-Fi and mobile data, and on stable Android releases as well as the current beta. These network/release comparisons are user observations, not controlled A/B tests in this capture.
Environment
Phone logcat/lifecycle/network records and selected desktop transport/RPC records were collected. The same Android app process and desktop app-server process remained running throughout the analyzed interval.
Two distinct observations
1. Host WebSocket closures: eight occurred at 10:02:04, 11:28:51, 12:18:47, 13:47:44, 14:53:59, 15:23:15, 15:25:07 and 16:31:35 UTC. Each logged:
Each host connection recovered in 1.424–2.300 seconds. In the matching app-server source, this reader error corresponds to a received
Message::Close(_); its payload is discarded. The reason for those closures is therefore unknown.2. Logical client sessions also close while Android remains foreground, at times distinct from those host closures. Examples, all UTC on 18 September:
model/list, 3.366 seconds earlierthread/resume, 0.762 seconds earlierturn/start, 29.744 seconds earlierturn/start, 18.036 seconds earlierturn/start, 7.088 seconds earlierNo corresponding Android network transition or host WebSocket error was found in the retained records for these examples. This does not rule out packet loss or missing log events. The request timings do not establish causation or a universal 30-second timeout.
The logical connection-closed record comes from a common cleanup path, so it does not uniquely identify the initiator. Backend notification clients and stale-session cleanup were distinguished from the above examples.
Manual reconnection and temporary duplicate message at 09:52 UTC
Observed UI sequence:
The same two attachments were written to the computer at 09:52:31–32, then again at 09:52:57–58 after a new connection initialized at 09:52:53.162. Attachment sizes and hashes matched pairwise. One retained
thread/queue/addrequest occurred at 09:52:58.528, and only one accepted user-message item was found in the local history; a later check still found one.Duplicate upload and temporary duplicate display are supported by the evidence. Duplicate model processing is not established. Pending-message reconciliation is a possible explanation, not a verified Android implementation detail.
Limits and request
Could the Remote team correlate the listed foreground incidents with Android/relay telemetry and identify the client-close reason and why automatic recovery sometimes stops? A supported diagnostic export containing session close reasons and send/retry acknowledgements—or a confirmed workaround/fixed build—would help move this beyond generic reconnect logs. Please advise how any account details needed for correlation should be supplied privately.
Ownan commentedon Sep 24, 2026
Windows/Android reproduction — 24 September 2026, session/worktree creation stalls while Desktop works fine
Same class of issue as reported above: Desktop remains fully usable, but Remote (Android app connecting to the Windows host) intermittently fails specifically at session/worktree provisioning — not just message delivery/reconnects.
Environment
codex-cli 0.155.0-alpha.16.4~/.codex/worktrees/<uuid>/Symptom
Starting a new task from the phone appears to be accepted, but on the backend only the worktree directory gets created — the actual
git worktree addcheckout never runs, so the session never becomes usable. No error surfaces on the host side; the directory is just left empty. Tasks started directly from Codex Desktop on the same host, over the same SSH connection, succeeded every single time during the same window.Timeline (JST, UTC+9)
What was tried (none conclusively fixed it)
Recovery around 23:02–23:12 looks self-resolved rather than caused by any of the above — consistent with other reports in this thread of reliability fluctuating over hours without a clear trigger.
flll commentedon Sep 28, 2026
Additional Windows/Android host-side evidence — 29 September 2026
I use ChatGPT Remote on Android to access Codex on Windows and continue to experience intermittent disconnections. This update adds historical host-side evidence; I have not yet matched a current phone-side failure to the same timestamp or established that it has the same root cause as other reports here.
Versions and scope
Host-side observations
Retained Remote Control transport records contain 13 relay-reader disconnects between September 22 and 28. Each has a subsequent successful relay connection in the same app-server process, approximately 1–5 seconds later at the logs' timestamp resolution. These are host-relay recovery times, not measured times until the Android UI becomes usable.
One example, in UTC:
The retained records also contain five transient
409 / Remote app server already onlineresponses, followed by successful connections. I found nooutbound queue filled,disconnecting slow connection, or Remote pong-timeout signature in the inspected records.The later logical-client close does not by itself establish the cause. Some closes occur 600 seconds after relay reconnection, which is consistent with the public client's idle-cleanup interval, but the captured message does not identify the close reason.
This appears relevant to the distinction between successful host-relay reconnection and restoration of a usable mobile session. I cannot yet attribute it to queue backpressure, Android lifecycle handling, or history loading. More specific host-side logging of the logical-client close reason would help distinguish those cases.
No pairing resets, network changes, or forced disconnects were performed during this investigation. No raw logs, dumps, account/device identifiers, local paths, or conversation content are attached.
mschfh commentedon Sep 29, 2026
Same issue with
codex remote-control(CLI) on LinuxHusseinLab commentedon Oct 19, 2026
Additional Windows → Android reproduction — October 19, 2026
Codex Remote intermittently marks an actively used Windows desktop host unavailable, and at other times displays an existing conversation while repeatedly trying to restore its remote session. The mobile view also sometimes lags behind the desktop conversation. This makes remote supervision of ongoing work unreliable.
Environment
2630026.1013.4894.00.163.0(not necessarily the desktop's bundled app-server)Observed on October 19 (UTC)
Diagnostics and limitations
HTTP_PROXY/HTTPS_PROXY/ALL_PROXYenvironment variables or WinHTTP proxy reported. This does not rule out other network factors.Conversation state not found(which can occur on successful loads) with other signatures, so it must not be interpreted as a confirmed failure count.Related reports
Request
Could the Remote team correlate the above UTC windows with relay/host registration and logical Android client-session close events, and advise whether there is a confirmed fixed build, supported workaround, or diagnostic procedure to distinguish host transport failures from client-session recovery and thread synchronization failures?
Privacy: Deliberately omitting host/account names, thread IDs, repository names, file paths, screenshots with project content, raw logs, and identifiers. Additional sanitized diagnostics can be provided if maintainers specify what is needed.