Remote follow-up queue stops dispatching when the controlling desktop client sleeps
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 38/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Quiet
- Tech stack
- macos, rust
- Domain
- desktop, distributed-systems
Research direction
Start by tracing the Codex Remote desktop Queue path from follow-up submission to dispatch on the Mac1 execution host, then compare it with the mobile-client behavior described here. Review related issue #28346 for context. Done means queued follow-ups continue after Mac2 sleeps or disconnects while preserving shared queue synchronization, ordering, edits, reordering, and deletion.
Written by the indexing model from the issue text.
Description
What variant of Codex are you using?
Codex Remote in the ChatGPT desktop app, with one Mac acting as the always-on execution host and another Mac acting as the portable controlling client.
Version and environment
Mac1 — execution host
- ChatGPT desktop app:
26.707.62119(build5211) - Bundled Codex CLI:
codex-cli 0.144.2 - macOS 15.6 (
24G84), arm64 - Kept awake, powered, online, and running the Codex host throughout the reproduction
Mac2 — remote controlling client
- Portable Mac running the Codex/ChatGPT desktop app
- Connected to Mac1 through Codex Remote
- "Prevent sleep while running" and Amphetamine are enabled, but this report is specifically about the queue surviving after the controlling client sleeps
Control case
- ChatGPT mobile app connected to the same Mac1 host
What issue are you seeing?
Follow-up messages queued from Mac2 into an existing thread running on Mac1 stop dispatching when Mac2 sleeps or its lid is closed, even though Mac1 remains awake, online, and available.
The active turn continues and completes on Mac1. However, the next queued follow-up does not begin until Mac2 wakes again. This makes the queue appear to be owned or dispatched by the originating desktop client rather than persisted on the execution host.
The mobile app behaves differently: sequential work submitted through mobile continues running on Mac1 while the mobile app is backgrounded or inactive.
Steps to reproduce
- Keep Mac1 awake, powered, online, and running Codex with Remote enabled.
- Connect to Mac1 from the Codex desktop app on Mac2.
- Open an existing thread whose execution host is Mac1.
- Start a turn that takes long enough to queue several follow-ups.
- From Mac2, use Queue to add multiple sequential follow-up messages to that same thread.
- Confirm that the follow-ups are visible as queued.
- Close Mac2's lid or allow Mac2 to sleep, while leaving Mac1 awake and online.
- Wait for the active turn on Mac1 to finish.
- Observe that the next queued follow-up does not start.
- Wake Mac2 and observe that queue dispatch can continue.
Control comparison:
- Connect the mobile app to the same Mac1 host.
- Submit sequential work and background the mobile app.
- Observe that work continues on Mac1 without the mobile app remaining active.
Expected behavior
Once a remote client has submitted follow-up messages and they are shown as queued, the queue should be persisted and dispatched by the execution host.
Specifically:
- queued follow-ups should continue after the originating client sleeps, disconnects, or closes;
- queue state should synchronize across connected desktop and mobile clients;
- FIFO ordering, edits, reordering, and deletion should operate on the shared host-side queue;
- dispatch should pause only when the execution host is unavailable, a turn needs user approval/input, or a turn fails/blocks.
Actual behavior
The active turn runs on Mac1, but queued follow-ups submitted from Mac2 depend on Mac2 remaining awake. Sleeping the portable controlling client prevents the host from starting the next queued turn.
Why this matters
Remote is most useful for handing long, sequential workflows to an always-on host. Requiring the portable controlling client to stay awake defeats that workflow and makes a large queued batch unreliable.
This is particularly surprising because the mobile client already appears able to hand work to the same host without remaining active.
Related issue
- #28346 also asks for queued and steering messages to be persisted remotely, but in the context of weak networks. This report isolates a stable-host/client-sleep case and the behavioral difference between desktop and mobile clients.
Additional information
This may be either a bug in desktop Remote queue ownership or a missing host-side queue feature. The user-facing behavior would be clearest if queued messages belonged to the target thread on Mac1 rather than to whichever remote client originally entered them.
- Dominant language
- Rust
- Stars
- 125k
- Forks
- 19.5k
- Avg merge
- 1m
- Merged PRs (30d)
- 1k
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.
More from openai/codex
-
enhancement remote
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
bug CLI windows-os
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
-
macOS sandbox blocks hw.optional.arm64 sysctl, causing Flutter to misdetect Apple Silicon as x64 Openbug CLI sandbox
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
bug CLI TUI
Difficulty 2/5 1-3 hours Newbie friendliness 90/100
-
CLI config enhancement skills
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
kwakseongjae/auto-hwp#319 ·
-
area:cli bug filter-quality good first issue priority:medium
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
-
Difficulty 1/5 Under an hour Newbie friendliness 72/100
bevyengine/bevy#25861 ·
-
comp-datalake
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
ClickHouse/ClickHouse#121222 ·
-
A-linter
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
oxc-project/oxc#26863 ·