Linux Codex Desktop App with Remote Control: How I Got 'Control Other Devices' Working

What I Wanted

I wanted to use Codex Desktop on Linux to remote control my Mac mini at home.

Specifically, I wanted the Linux Codex Desktop App with Remote Control working well enough that I could open Codex Desktop on Linux, go to Control other devices, authorize the machine, and remote into my Mac mini.

This is not official OpenAI Linux support. This is using the excellent unofficial Linux build repo here:

If you are searching for things like Codex Desktop Linux remote control, Codex Desktop for Linux Control other devices, OpenAI Codex Desktop Linux remote into Mac, or codex-desktop-linux remote-mobile-control, this is the path that worked for me.

The Short Version

The important bit is that codex-desktop-linux has an experimental feature called remote-mobile-control.

When enabled on latest main, that feature does three things I needed:

  • uses a Linux file-backed remote-control device-key provider
  • starts codex app-server with --remote-control
  • keeps the Control other devices settings tab reachable on Linux

That last part matters because the UI tab is what lets you access outbound remote control from Linux.

The current clean flow is:

  1. Pull latest main from codex-desktop-linux.
  2. Enable remote-mobile-control in linux-features/features.json.
  3. Run the feature test.
  4. Rebuild and reinstall with make install-native.
  5. Launch Codex Desktop and use Control other devices.

Tested Setup

This is the setup I confirmed:

Install and Enable Remote Control

Clone the repo, pull latest main, and enable remote-mobile-control:

git clone https://github.com/ilysenko/codex-desktop-linux.git
cd codex-desktop-linux
git pull --ff-only

mkdir -p linux-features
cat > linux-features/features.json <<'EOF'
{
  "enabled": [
    "remote-mobile-control"
  ]
}
EOF

Then run the feature test:

node --test linux-features/remote-mobile-control/test.js

Rebuild and reinstall:

make install-native

Launch Codex Desktop:

/usr/bin/codex-desktop

After that, open settings and go to Control other devices.

That is the tab I needed for outbound remote control from Linux.

Verify the App Server

Once Codex Desktop is running, verify the important process:

pgrep -af 'codex app-server|/opt/codex-desktop/electron'

The expected app-server process should include this:

codex app-server --remote-control --analytics-default-enabled

That tells you remote-mobile-control is doing the important runtime work.

Optional Asset Check

If you want to verify that the built webview no longer hides the Control other devices tab on Linux, you can check the installed assets:

rg 'codexLinuxRemoteControlSettingsTabs\(e\)\{return e\}' /opt/codex-desktop/content/webview/assets

That check is optional, but it is a nice sanity check if the tab does not show up and you are trying to figure out whether your installed build includes the latest patch.

The Original Failure

Before enabling remote-mobile-control, I hit this authorization failure:

remote_control_authorize_failed
errorMessage="Remote control device keys are only available on macOS"

That error made sense. The normal remote-control device-key path expected macOS-only behavior.

The remote-mobile-control feature fixed that part for me by adding a Linux-friendly device-key provider and launching the app server with remote control enabled.

Result: Remote Controlling My Mac mini from Linux

With latest main, remote-mobile-control enabled, and the app rebuilt, the Linux Codex Desktop App allowed the Control other devices tab.

Authorization worked.

I was able to remote control my Mac mini from Linux.

That was the end state I wanted: OpenAI Codex Desktop Linux remote into Mac behavior through the unofficial Linux build, using the experimental remote-mobile-control feature.

Caveats

A few important warnings before anyone treats this like a normal install guide:

  • This is unofficial.
  • This is experimental.
  • It may break on updates.
  • The Linux device-key storage path is file-backed.
  • Server-side support could change.
  • I confirmed Linux outbound control of an already-enrolled Mac setup, not a totally fresh enrollment from scratch.

That last caveat matters.

My successful test used a Mac mini and iPhone remote-control setup that already existed before I added the Linux laptop. This confirms Linux outbound control of an already-enrolled Mac works for me, but it does not prove a completely fresh Mac/iPhone/Linux enrollment flow from scratch.

So I would treat this as a practical field note, not a supported product feature.

Useful Links

Prompt for Codex CLI

If you want Codex CLI to set this up, this is the prompt I would paste in:

In this repo https://github.com/ilysenko/codex-desktop-linux, enable outbound remote control from Linux using the current upstream flow.

Do the following:
1. Pull latest main.
2. Create linux-features/features.json enabling remote-mobile-control.
3. Run node --test linux-features/remote-mobile-control/test.js.
4. Rebuild and reinstall with make install-native.
5. Launch /usr/bin/codex-desktop.
6. Verify that pgrep -af 'codex app-server|/opt/codex-desktop/electron' shows codex app-server --remote-control --analytics-default-enabled.
7. If needed, verify that /opt/codex-desktop/content/webview/assets contains codexLinuxRemoteControlSettingsTabs(e){return e}.

Do not manually edit patch.js on latest main. The Control other devices / access-other-devices tab should already be reachable when remote-mobile-control is enabled.

Final Notes

The main trick was that the Linux app needed remote-mobile-control enabled before remote control made sense.

Once enabled on latest main, the device-key path, app-server launch flags, and Control other devices UI all lined up.

That got codex-desktop-linux remote-mobile-control working well enough for me to control my Mac mini from Linux.