Codex Desktop on Windows refreshes app-server-updated threads only after window focus returns

Open 💬 1 comment Opened May 5, 2026 by MaximusStalsky

What issue are you seeing?

Codex Desktop on Windows does not appear to refresh its project sidebar / thread view while the window is unfocused after another local codex app-server client appends a real turn to an existing thread.

The underlying thread state is updated correctly and immediately: thread/list, thread/read, and thread/turns/list can see the new turn and the updated timestamp. However, Codex Desktop remains visually stale until the Desktop window receives focus again. As soon as the Codex Desktop window is focused, the sidebar and the opened chat update immediately.

This matters for app-server-based orchestration workflows where one controller process or orchestrator dispatches work to existing Desktop threads. The work completes, but the Desktop UI may not show the completed worker thread until the user manually focuses the app.

Environment

  • Platform: Windows
  • App: Codex Desktop
  • Transport used for the external client: codex app-server --listen stdio://
  • The issue reproduced with Codex Desktop started normally, without DevTools / remote-debugging flags.

Reproduction outline

  1. Open Codex Desktop on Windows.
  2. Keep Codex Desktop visible or available, but move focus to another application.
  3. From a separate local codex app-server client:
  • initialize / initialized;
  • thread/resume an existing Desktop thread by threadId;
  • turn/start with a minimal instruction;
  • keep observing with thread/turns/list until the turn is completed and the assistant response is present.
  1. Confirm through app-server that:
  • the new turn exists;
  • the target thread updatedAt changed;
  • thread/list / thread/read show the updated state.
  1. Observe Codex Desktop while it is still unfocused.
  2. Focus the Codex Desktop window.

Observed behavior

  • While Codex Desktop is unfocused, the sidebar / thread view can remain stale.
  • The app-server state is already fresh and includes the completed turn.
  • When the Codex Desktop window receives focus, the sidebar and chat content refresh immediately.
  • This reproduced multiple times across different existing worker threads.
  • It also reproduced after restarting Codex Desktop normally, without DevTools / remote debugging enabled.

Expected behavior

If thread state changes through supported app-server primitives, Codex Desktop should eventually refresh its visible thread list / chat content without requiring a manual focus change.

Alternatively, Codex could expose a supported, side-effect-free refresh/invalidate signal for Desktop clients so external local app-server workflows can ask the app to refresh its thread state without using private files, empty turns, DevTools/CDP, or focus-stealing.

Why this matters

This is especially visible in orchestration workflows where one long-lived project/orchestrator thread dispatches work to worker threads. The underlying app-server operations succeed, but the human user cannot reliably see the updated Desktop state until they manually focus the app.

Related feature request: #14923

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗