Codex Remote Control enrollment fails for ChatGPT Business accounts while Personal account works on the same Windows PC
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 125k
- Forks
- 19.4k
- PR merge metrics
- PR metrics pending
Description
What version of the Codex App are you using (From “About Codex” dialog)?
26.901.20858
What subscription do you have?
ChatGPT Business
What platform is your computer?
Microsoft Windows NT 10.0.26200.0 | True | AMD64
What issue are you seeing?
Codex Remote Control cannot be enabled for accounts in my ChatGPT Business workspace, while the same Windows Codex Desktop installation can successfully enable and use Remote Control with my Personal account.
Environment:
- Codex Desktop version: 26.901.20858
- Platform: Windows
- Workspace: ChatGPT Business
- Business workspace setting "Allow members to discover and control devices remotely" is enabled.
- "Allow members to use Codex and Work locally" is also enabled.
- Android ChatGPT app is logged into the same Business workspace and exposes the Remote pairing flow.
When signed into either of my two ChatGPT Business accounts and enabling:
Settings -> Connections -> Control this PC -> Allow connections
the desktop app displays:
"Couldn't update remote control availability"
The failure is reproducible across both Business accounts.
On the exact same PC, same ChatGPT/Codex Desktop installation, and same network, switching to my Personal account allows Remote Control to enable and connect successfully.
I also tested the failing Business account using a mobile hotspot instead of my normal network and received the same error, so this does not appear to be LAN/router-specific.
Local state inspection shows that Codex successfully stores a Remote Control enrollment for the Personal account, but no enrollment is ever created for the Business account.
The SQLite table is:
remote_control_enrollments
with primary key:
(websocket_url, account_id, app_server_client_name)
This indicates that enrollments are account-specific.
For the working Personal account, the table contains a valid server_id and environment_id.
For the failing Business account, there is no row.
The Business-account logs repeatedly show:
no persisted remote control enrollment found
followed by:
Reloading auth for account
Reloaded auth, changed: false
remote control auth recovery succeeded: mode=managed, step=reload, auth_state_changed=Some(false)
But enrollment never completes and no server_id/environment_id is persisted.
Normal Codex authentication for the same Business account is working. For example, /backend-api/codex/models returns HTTP 200 with ChatGPT authorization attached.
I searched the relevant Remote Control logs and did not find a corresponding 401, 403, Forbidden, Unauthorized, or MFA rejection for the failing Business enrollment.
This appears to be a Business-account Remote Control enrollment/provisioning failure rather than a general Windows, network, authentication, or WebSocket connectivity problem.
What steps can reproduce the bug?
-
Use Codex Desktop for Windows version 26.901.20858.
-
Sign in with a ChatGPT Business account.
-
Ensure the Business workspace administrator has enabled:
- Allow members to use Codex and Work locally
- Allow members to discover and control devices remotely
-
Open:
Settings -> Connections -> Control this PC -
Enable "Allow connections".
-
Observe the error:
"Couldn't update remote control availability" -
Inspect ~/.codex/state_5.sqlite.
-
Observe that no row is created in remote_control_enrollments for the Business account.
-
Inspect ~/.codex/logs_2.sqlite.
-
Observe:
"no persisted remote control enrollment found"followed by managed auth recovery with:
"Reloaded auth, changed: false"
and:
"remote control auth recovery succeeded: mode=managed, step=reload, auth_state_changed=Some(false)"
-
Sign out of the Business account and sign into a Personal ChatGPT account on the same Windows installation.
-
Enable Remote Control again.
-
Observe that Remote Control successfully enables, an enrollment exists with server_id/environment_id, and the WebSocket connects successfully.
Additional reproduction checks already performed:
- Full application exit/restart
- Sign-out and sign-in
- Same workspace selected on desktop and Android
- Normal network
- Android mobile hotspot
The Business account fails in all cases while the Personal account succeeds on the same PC.
What is the expected behavior?
When Remote Control is permitted by the ChatGPT Business workspace administrator, enabling "Allow connections" for a Business account should create an account-specific Remote Control enrollment, persist its server_id/environment_id, and make the Windows host available for pairing with the ChatGPT mobile app.
Business accounts should behave the same way as the working Personal account on the same Codex Desktop installation.
Additional information
This machine is used with multiple ChatGPT/Codex accounts:
- 1 Personal account
- 2 accounts belonging to the same ChatGPT Business workspace
Both Business accounts fail to create a Remote Control enrollment.
The Personal account works.
The local database schema already supports multiple account-specific enrollments:
PRIMARY KEY (
websocket_url,
account_id,
app_server_client_name
)
Therefore this does not appear to be caused by the local database only supporting one account.
The working Personal enrollment demonstrates that:
- the installation_id is functional
- the Windows machine can reach the Remote Control infrastructure
- TLS works
- WebSocket connectivity works
- Codex Desktop Remote Control works generally on this machine
For privacy/security I can provide the exact account_id, installation_id, server_id, environment_id, request IDs, CF-Ray IDs, and complete logs privately if requested.
I can also provide sanitized extracts from:
- ~/.codex/logs_2.sqlite
- ~/.codex/state_5.sqlite
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the failure in Codex Desktop on Windows with a Business account, then compare it with the working Personal account. Inspect ~/.codex/state_5.sqlite and ~/.codex/logs_2.sqlite, especially remote_control_enrollments and the managed auth recovery messages. Done means an allowed Business account creates an enrollment with server_id and environment_id and Remote Control connects successfully.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust, sqlite
- Domain
- api, authentication, backend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100