{"slug": "enable-codex-desktop-control-other-devices-on-windows-at-runtime-without-codex", "title": "Enable Codex Desktop Control other devices on Windows at runtime without modifying Codex binary", "summary": "A developer created a runtime tool that enables the hidden 'Control other devices' feature in Codex Desktop for Windows without modifying the installed binary. The tool overrides a Statsig gate and spoofs the platform to macOS to unlock the remote-control UI and device-key operations, using an in-memory P-256 signing implementation and Windows DPAPI for key storage.", "body_md": "Enable **Settings > Connections > Control other devices** in Codex Desktop for Windows without modifying `ChatGPT.exe`\n\n, `app.asar`\n\n, or any file under `C:\\Program Files\\WindowsApps`\n\n.\n\nTested with Codex Desktop `26.715.7063.0`\n\non Windows 11.\n\nImportant\n\nEnable 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.\n\nWarning\n\nThis 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.\n\n- Shows the shipped\n**Control other devices** tab on Windows. - Authorizes and stores a Windows controller device key.\n- Lists signed-in Codex devices available to control.\n- Opens projects on a connected remote host.\n- Leaves the installed Codex package unchanged.\n\n- Windows 10 or Windows 11.\n- Codex Desktop installed from the Microsoft Store/MSIX package.\n- Node.js 22 or newer available as\n`node.exe`\n\non`PATH`\n\n. - MFA enabled on the OpenAI/ChatGPT account before device enrollment.\n- Another signed-in Codex host available on the same account.\n\n-\nDownload this gist or clone it with GitHub CLI:\n\n```\ngh gist clone dc4b74bda0e045e33f308099182b4f80 codex-windows-remote-control-runtime\ncd codex-windows-remote-control-runtime\n```\n\n-\nQuit Codex Desktop.\n\n-\nRun the launcher:\n\n```\npowershell -NoProfile -ExecutionPolicy Bypass -File .\\launch-codex-remote-control.ps1\n```\n\n-\nIn Codex, open\n\n**Settings > Connections > Control other devices**. -\nSelect\n\n**Add** and complete authorization with the MFA-enabled account. -\nCreate a project and choose the connected device under\n\n**New remote project**.\n\nThe launcher writes diagnostics to `%TEMP%\\codex-remote-control-runtime.log`\n\n.\n\nCodex Desktop `26.715`\n\nships the Windows remote-controller UI and backend client, but two checks prevent the controller flow from working:\n\n- Statsig gate\n`782640499`\n\nis inverted in the renderer. A value of`true`\n\nhides`showControlOtherDevices`\n\n, so the runtime override forces this one gate to`false`\n\n. - The main process rejects device-key operations unless\n`process.platform`\n\nis`darwin`\n\n, then tries to load`remote-control-device-key.node`\n\n, which is not shipped in the Windows package.\n\nThe launcher starts Codex with renderer DevTools on `127.0.0.1:9322`\n\nand the Electron main-process inspector on `127.0.0.1:9333`\n\n. It then:\n\n- Overrides only Statsig gate\n`782640499`\n\nin renderer Statsig clients. - Reports\n`darwin`\n\nonly while the shipped`getAddon()`\n\ndevice-key method is on the call stack. - Intercepts only requests for\n`remote-control-device-key.node`\n\n. - Supplies an in-memory P-256 signing implementation.\n- Encrypts private keys with Windows DPAPI using\n`CurrentUser`\n\nscope. - Stores encrypted keys in\n`~\\.codex\\remote-control-device-keys.windows.json`\n\n.\n\nThe 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`\n\n. The renderer injection pattern was adapted from [brunolemos' Codex feature-override gist](https://gist.github.com/brunolemos/7466058059eae140a57a7c6a42f235ae).\n\nTo disable the runtime hooks, quit Codex and launch it normally. The hooks and debugging ports exist only in the specially launched process.\n\nAfter revoking remote-control access in Codex, you can optionally remove the encrypted Windows key store:\n\n```\nRemove-Item -LiteralPath \"$HOME\\.codex\\remote-control-device-keys.windows.json\"\n```\n\nYou can then delete this gist folder. No installed Codex files need restoration.\n\n**The tab is missing:** Confirm Codex was launched by`launch-codex-remote-control.ps1`\n\n, then inspect`%TEMP%\\codex-remote-control-runtime.log`\n\n.**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.", "url": "https://wpnews.pro/news/enable-codex-desktop-control-other-devices-on-windows-at-runtime-without-codex", "canonical_source": "https://gist.github.com/hunterbeach/dc4b74bda0e045e33f308099182b4f80", "published_at": "2026-07-21 18:29:33+00:00", "updated_at": "2026-07-27 16:59:39.710620+00:00", "lang": "en", "topics": ["developer-tools", "ai-tools"], "entities": ["Codex Desktop", "OpenAI", "ChatGPT", "Windows", "Node.js", "Statsig", "DPAPI", "GitHub"], "alternates": {"html": "https://wpnews.pro/news/enable-codex-desktop-control-other-devices-on-windows-at-runtime-without-codex", "markdown": "https://wpnews.pro/news/enable-codex-desktop-control-other-devices-on-windows-at-runtime-without-codex.md", "text": "https://wpnews.pro/news/enable-codex-desktop-control-other-devices-on-windows-at-runtime-without-codex.txt", "jsonld": "https://wpnews.pro/news/enable-codex-desktop-control-other-devices-on-windows-at-runtime-without-codex.jsonld"}}