codex - 💡(How to fix) Fix Codex Desktop open thread view does not refresh after another app-server client appends a turn

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…

Error Message

The custom app-server client sees the new turn immediately.

Root Cause

This is the missing piece for a safe phone/PWA companion client for local Codex Desktop sessions. The bridge can already continue the thread through app-server, but Desktop needs a documented/supported way to observe or refresh externally-appended turns.

RAW_BUFFERClick to expand / collapse

What issue are you seeing?

I am building a phone/PWA companion client on top of codex app-server so I can continue a local Codex Desktop thread from another device while the PC remains the execution host.

A separate app-server client can successfully resume an existing Desktop-visible thread and append a new turn, but the already-open Codex Desktop thread view does not appear to live-refresh or receive an invalidation for that externally-appended turn.

The turn is persisted and can be read by the bridge immediately. It also eventually appears in Desktop after Desktop later re-reads/resumes the thread, but the timing appears event-driven rather than documented or deterministic.

Environment

  • Codex CLI: 0.128.0-alpha.1
  • Platform: Windows Desktop app using WSL app-server
  • Custom client: local bridge process running codex app-server --listen stdio://
  • Desktop app-server process: launched separately by Codex Desktop over stdio

Reproduction

  1. Open an existing thread in Codex Desktop.
  2. Start a separate local app-server client with codex app-server --listen stdio://.
  3. From that separate client, call thread/resume for the open Desktop thread.
  4. Call turn/start and wait for completion.
  5. Confirm the new turn is visible through the custom app-server client via thread/turns/list or thread/read.
  6. Return to the already-open Codex Desktop thread view.

Observed behavior

The custom app-server client sees the new turn immediately.

The already-open Desktop thread view does not update immediately. It appears to catch up only later, when Desktop performs its own thread/read / thread/resume again.

Expected behavior

One of the following would make cross-client local continuity much easier to build safely:

  • Codex Desktop live-refreshes open thread views when the persisted thread changes.
  • App-server exposes a supported request/notification to invalidate or refresh a thread across clients.
  • Desktop can connect to a shared app-server transport used by both Desktop and external clients.
  • Documentation explicitly states that cross-client live sync is not supported, and that only eventual persisted thread continuity should be expected.

Additional investigation

I looked for a safe nudge path:

  • codex app-server proxy exists, but the Desktop-launched stdio app-server did not expose /mnt/c/Users/<user>/.codex/app-server-control/app-server-control.sock.
  • The open-source app-server code appears to create that control socket only for --listen unix:// / unix://PATH.
  • Calling thread/read / thread/resume from another app-server connection refreshes that connection, but does not appear to force the already-open Desktop renderer connection to rehydrate.
  • I intentionally avoided private stdio pipe writes, direct state edits, item injection, or Desktop app-server restarts because those seem unsafe.

Why this matters

This is the missing piece for a safe phone/PWA companion client for local Codex Desktop sessions. The bridge can already continue the thread through app-server, but Desktop needs a documented/supported way to observe or refresh externally-appended turns.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

FAQ

Expected behavior

One of the following would make cross-client local continuity much easier to build safely:

  • Codex Desktop live-refreshes open thread views when the persisted thread changes.
  • App-server exposes a supported request/notification to invalidate or refresh a thread across clients.
  • Desktop can connect to a shared app-server transport used by both Desktop and external clients.
  • Documentation explicitly states that cross-client live sync is not supported, and that only eventual persisted thread continuity should be expected.

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

codex - 💡(How to fix) Fix Codex Desktop open thread view does not refresh after another app-server client appends a turn