# Enable Codex Desktop Control other devices on Windows at runtime without modifying Codex binary

> Source: <https://gist.github.com/hunterbeach/dc4b74bda0e045e33f308099182b4f80>
> Published: 2026-07-21 18:29:33+00:00

Enable **Settings > Connections > Control other devices** in Codex Desktop for Windows without modifying `ChatGPT.exe`

, `app.asar`

, or any file under `C:\Program Files\WindowsApps`

.

Tested with Codex Desktop `26.715.7063.0`

on Windows 11.

Important

Enable multi-factor authentication (MFA) on your OpenAI/ChatGPT account **before** linking the account or adding a device. Remote-control enrollment requires MFA to already be active.

Warning

This is an unofficial, version-sensitive runtime experiment. It launches Codex with localhost debugging ports that can execute code inside the Codex process. Use it only on a trusted machine, and launch Codex normally when you are finished.

- Shows the shipped
**Control other devices** tab on Windows. - Authorizes and stores a Windows controller device key.
- Lists signed-in Codex devices available to control.
- Opens projects on a connected remote host.
- Leaves the installed Codex package unchanged.

- Windows 10 or Windows 11.
- Codex Desktop installed from the Microsoft Store/MSIX package.
- Node.js 22 or newer available as
`node.exe`

on`PATH`

. - MFA enabled on the OpenAI/ChatGPT account before device enrollment.
- Another signed-in Codex host available on the same account.

-
Download this gist or clone it with GitHub CLI:

```
gh gist clone dc4b74bda0e045e33f308099182b4f80 codex-windows-remote-control-runtime
cd codex-windows-remote-control-runtime
```

-
Quit Codex Desktop.

-
Run the launcher:

```
powershell -NoProfile -ExecutionPolicy Bypass -File .\launch-codex-remote-control.ps1
```

-
In Codex, open

**Settings > Connections > Control other devices**. -
Select

**Add** and complete authorization with the MFA-enabled account. -
Create a project and choose the connected device under

**New remote project**.

The launcher writes diagnostics to `%TEMP%\codex-remote-control-runtime.log`

.

Codex Desktop `26.715`

ships the Windows remote-controller UI and backend client, but two checks prevent the controller flow from working:

- Statsig gate
`782640499`

is inverted in the renderer. A value of`true`

hides`showControlOtherDevices`

, so the runtime override forces this one gate to`false`

. - The main process rejects device-key operations unless
`process.platform`

is`darwin`

, then tries to load`remote-control-device-key.node`

, which is not shipped in the Windows package.

The launcher starts Codex with renderer DevTools on `127.0.0.1:9322`

and the Electron main-process inspector on `127.0.0.1:9333`

. It then:

- Overrides only Statsig gate
`782640499`

in renderer Statsig clients. - Reports
`darwin`

only while the shipped`getAddon()`

device-key method is on the call stack. - Intercepts only requests for
`remote-control-device-key.node`

. - Supplies an in-memory P-256 signing implementation.
- Encrypts private keys with Windows DPAPI using
`CurrentUser`

scope. - Stores encrypted keys in
`~\.codex\remote-control-device-keys.windows.json`

.

The approach was derived from [zdaar/codex-hacks](https://github.com/zdaar/codex-hacks/blob/main/patch_codex_remote_control.py), but performs equivalent hooks at runtime rather than patching a copied `app.asar`

. The renderer injection pattern was adapted from [brunolemos' Codex feature-override gist](https://gist.github.com/brunolemos/7466058059eae140a57a7c6a42f235ae).

To disable the runtime hooks, quit Codex and launch it normally. The hooks and debugging ports exist only in the specially launched process.

After revoking remote-control access in Codex, you can optionally remove the encrypted Windows key store:

```
Remove-Item -LiteralPath "$HOME\.codex\remote-control-device-keys.windows.json"
```

You can then delete this gist folder. No installed Codex files need restoration.

**The tab is missing:** Confirm Codex was launched by`launch-codex-remote-control.ps1`

, then inspect`%TEMP%\codex-remote-control-runtime.log`

.**Authorization fails before linking:** Confirm MFA was enabled before starting device enrollment, then retry**Add**.** No devices appear:**Confirm the other Codex host is signed in to the same account, online, and configured to allow remote control.** A Codex update breaks the launcher:**Launch Codex normally and stop using the override until the relevant gate and device-key code are reviewed for the new build.
