Windows Remote Control gets permanently stuck in "Reconnecting..." with no way to recover remotely
What version of the Codex App are you using (From “About Codex” dialog)?
Codex App (Windows) ChatGPT Mobile Remote Control (QR Pairing)
What subscription do you have?
Plus
What platform is your computer?
Host Windows 11 Codex App (latest) Remote ChatGPT Mobile QR Pairing
What issue are you seeing?
Summary
After running normally for a period of time, the mobile remote client becomes permanently stuck in "Reconnecting...".
The most serious issue is that there is no way to determine whether the Windows host is still alive or to recover the remote session without physically accessing the host machine.
This issue has occurred multiple times under the same workflow.
---
Impact
This is a significant issue for users who operate Codex remotely.
Typical workflow:
- Windows PC stays at home running Codex.
- User controls it remotely from ChatGPT Mobile.
- User may also access ChatGPT from another computer via a web browser.
When the Remote Control enters the "Reconnecting..." state, the user completely loses access to the host and cannot determine whether the issue is:
- the Windows application,
- the Remote Control service,
- the backend session,
- or the mobile client.
If the host computer is located elsewhere, Remote Control becomes unusable until someone can physically access the machine.
What steps can reproduce the bug?
Steps to Reproduce
- Install the Codex App on a Windows PC.
- Pair ChatGPT Mobile using the QR code.
- Leave the Windows PC running at home.
- Connect to the host remotely from ChatGPT Mobile.
- Continue using Remote Control for several hours (sometimes after idle periods).
- Eventually, the mobile client becomes stuck on "Reconnecting..." indefinitely.
- Restarting the ChatGPT mobile app does not recover the session.
- Switching between Wi-Fi and LTE does not recover the session.
- The only way to recover is to physically access the Windows PC and restart the Codex application.
What is the expected behavior?
Expected Behavior
If the desktop application is still running, the remote session should automatically recover.
If automatic recovery is not possible, users should at least be able to determine the host status through diagnostics such as:
- Host Online / Offline
- Last Seen
- Last Heartbeat
- Remote WebSocket status
- Backend session status
It would also be helpful to provide recovery actions such as:
- Force Reconnect
- Restart Remote Service
- Reset Remote Session
- Re-register Host
---
Actual Behavior
The mobile client remains permanently stuck on:
Reconnecting...
There is no way to determine whether:
- the Windows Codex application is still running,
- the remote connection is still alive,
- the backend session has become stale,
- the pairing has become invalid,
- or the desktop application has crashed.
The user has no diagnostic information and no recovery mechanism without physical access to the host.
Additional information
Suggested Improvements
Diagnostics
Please expose the following information:
- Host Online / Offline
- Last Seen
- Last Heartbeat
- Desktop App Version
- Remote WebSocket Status
- Backend Session Status
Recovery
Please provide one or more of the following:
- Force Reconnect
- Restart Remote Service
- Reset Remote Session
- Re-register Host
These actions should be available without requiring physical access to the Windows host.
Additional Notes
- This issue has happened multiple times under the same workflow.
- Restarting the mobile application does not resolve the problem.
- Switching networks (Wi-Fi ↔ LTE) does not resolve the problem.
- The only reliable recovery method so far has been physically accessing the Windows machine and restarting the Codex application.
I would also appreciate any diagnostic logs or troubleshooting methods that users can access remotely to determine whether the host is still alive when the mobile client is stuck on "Reconnecting...".
7 Comments
Potential duplicates detected. Please review them and close your issue if it is a duplicate.
Powered by Codex Action
I think i have the same problem the mobile and desktop connect to remote te server windows and alot of times its hppane stack in reconnecting.
No, the tickets you provided described communication issues, but in my issue, the tasks totally stopped working at all. They no longer produce any outputs, which they should and commit after each step. The tasks simply freezed.
This was not limited to a single conversation. All Codex tasks were frozen and produced no further progress, while Windows and other applications (including Claude Code Remote) continued to function normally.
The connection keeps dropping or becoming unstable, which is really frustrating.
Adding a current Windows 11 host-side reproduction with a repeatable failure sequence. This looks like a Remote Control connection-registry/state race, not simply the desktop process being dead.
Environment:
2620026.623.13972.0and26.707.3748.026.707.9981.0Reproduction 1 — 2026-07-03, build 26.623.13972.0
The local app-server came up normally:
Remote Control refresh/enable also appeared successful:
But immediately after the refresh reported one connection, the host-scoped status read could not resolve that connection:
Reproduction 2 — 2026-07-12, build 26.707.3748.0
The same ordering occurred again:
About 12 minutes later, refresh removed the connection entirely:
The strongest signal is that
refresh_remote_control_completedreportsnextConnectionCount=1, but within 74–149 ms the app cannot look up that same host ID. The local app-server and desktop process are responsive throughout.This could explain the user-visible “Reconnecting...”/offline state: the Remote Control inventory briefly advertises a host entry that the connection registry cannot route to, then the manager remains disconnected and may later delete the entry.
Suggested recovery behavior:
I can provide additional sanitized log windows if maintainers need them.
Follow-up with a later same-host incident and a source-level audit.
Environment:
26.707.9981.00.144.2Host transport timeline (2026-07-15 UTC)
There was no corresponding Windows WLAN, NetworkProfile, or System event showing a host Wi-Fi/adapter disconnect. Model-list child-process timeouts occurred in the same interval, so internal app-server load/head-of-line blocking remains relevant.
This is distinct from the desktop bootstrap route miss in my previous comment. The current build can show that desktop-registry warning while the phone relay is actually working, so it must not be used as an external-watchdog restart signal.
Concrete defects found on current
mainConnectedduring cleanup.clear_server_token()cleared the token/expiry but notnext_refresh_at; a 401/403 could therefore leave required refresh deferred.WouldBlockwas retried every second even when the typed enrollment deferral was minutes away, producing repeated prepare/connect/log cycles.ClientId, although concurrentStreamIdvalues are supported; interleaved streams could reset/drop each other.I prepared a local five-file proof patch (not deployed to the active Desktop app) that:
WouldBlockkeeps the 1 s fallback;Erroredimmediately when a connection worker dies, before cleanup;(ClientId, StreamId).Validation with the pinned Rust 1.95 toolchain, two compiler jobs, and an isolated target:
Recommended durable recovery work:
remoteControl/reconnectoperation that preserves enrollment, cursors, threads, and running turns;The active app was not restarted to test this because doing so would interrupt in-progress work.