Allow heartbeat automations from same-machine remote connection threads
Summary
I'm using Codex by remotely connecting to my Mac mini, where Codex Desktop is running. From that remote-connected thread, Codex refuses to create heartbeat automations, even though the execution environment is still my Mac mini and has access to the local Codex Desktop state.
The error returned by codex_app.automation_update is:
Automations are only supported for local threads.
This seems overly restrictive for remote-connection threads whose target host is the same machine running Codex Desktop.
Environment
- Codex Desktop running on macOS, Mac mini
- Thread started via remote connection / VS Code-style remote source
- Remote target host is the same Mac mini where Codex Desktop and
~/.codexlive - Automation requested: heartbeat automation attached to the current thread
Reproduction
- Open Codex Desktop on a Mac.
- Start or attach to a thread through a remote connection to that same Mac.
- Ask Codex to create a heartbeat automation for the current thread, for example:
- "Use a 1 hour heartbeat to come back to this thread and check in."
- Observe that the automation tool is unavailable or rejects the request.
Actual Behavior
The thread cannot create or view Codex automations. In my test, even a view call failed with:
Automations are only supported for local threads.
From local inspection, the current thread was marked as a remote/source thread, while older native local threads had automation_update available. The app also appears to gate automation support based on whether the thread host is considered local.
Expected Behavior
If the remote-connected thread is running on the same machine as Codex Desktop, it should be allowed to create heartbeat automations for itself, or at least there should be a supported way to do so.
For example, Codex could allow heartbeat automation creation when:
- the thread is remote-connected,
- the remote target resolves to the same local machine running Codex Desktop,
- the target thread exists in local Codex state,
- and the user has granted the relevant heartbeat/thread permission.
Why This Matters
Remote-connected threads are still real Codex workflows. In this case, the thread is running on my Mac mini, with Codex Desktop installed and automation state available locally. The current behavior makes heartbeat automations unavailable precisely in the kind of long-running remote workflow where they would be useful.
Notes / Possible Fix
This may not require enabling automations for arbitrary remote hosts. A narrower fix would be to distinguish between:
- remote threads connected to an external machine, and
- remote-connection threads whose execution host is the same local Desktop machine.
For case 2, codex_app.automation_update could be exposed and allowed, subject to the same heartbeat permission model used for local threads.
At minimum, the error message could be more specific, for example: "Heartbeat automations are not currently supported for remote-connection threads," so users understand this is a product limitation rather than missing local access.
This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗