openai / openai/codex

[macOS Desktop plus Android Remote] list threads reaches app server but never completes; UI sidebar remains healthy.

Open
#38,571 5 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

app app-server bug remote tool-calls
Dominant language
Rust
Stars
125k
Forks
19.5k
PR merge metrics
PR metrics pending

Description

What version of the Codex App are you using (From “About Codex” dialog)?

26.810.41047

What subscription do you have?

Pro x 20

What platform is your computer?

Darwin 24.6.0 arm64 arm

What issue are you seeing?

The Desktop UI continues to show projects, pinned chats, and recent chats, but agent-facing codex_app thread-management calls are unreliable on both Desktop and Android Remote.

An agent list_threads call can remain pending indefinitely with no structured error, preventing a fresh task from discovering existing conversations that are visible in the UI.

Remote project creation also failed with:

create_thread received invalid arguments
What steps can reproduce the bug?
  1. Pair ChatGPT on Android with a local macOS Codex Desktop host.
  2. Confirm that projects and existing chats remain visible in the Desktop UI.
  3. From an agent task, call codex_app.list_threads.
  4. Observe that the call can remain pending indefinitely without a result or structured error.
  5. Restart Desktop and retry. The UI sidebar can still list chats, while a later agent-facing list call again fails to settle.

Read-only log evidence from the failing session:

  • Immediately after restart, UI-originated thread/list completed in roughly 1–11 ms.
  • Later, four thread/list requests reached the local app-server.
  • No matching completion/response record was logged for those request IDs.
  • After pending calls were cancelled, the app-server logged CancelledError followed by could not find callback.
  • Unrelated account, configuration, filesystem, and thread-read requests continued to complete promptly.
What is the expected behavior?

Every codex_app thread-management call should return either a result or a structured, bounded timeout/error.

Agent-facing thread discovery should not fail while the Desktop UI can list the same chats. Remote project discovery must return identifiers accepted by project task creation for the same caller.

Additional information

The session index JSONL and global JSON parsed successfully, and the thread-state SQLite database passed its integrity check. No local state was modified.

No correlated Remote-disconnect, EPIPE, or thread_list_unavailable event appeared in the inspected log window.

Related issues: #32553, #36404, and #37668. This case is closest to that family but differs from #37668 because the local thread/list requests did reach the app-server before failing to settle.

Prompts, absolute paths, conversation IDs, and raw logs are intentionally omitted for privacy; redacted diagnostics can be provided through a private support channel.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the agent-facing codex_app.list_threads and create_thread calls, then trace their requests through the local app-server alongside the UI-originated thread/list requests. Use the timing and cancellation logs as the first diagnostic evidence, and compare remote project identifiers with task-creation inputs. Done means each thread-management call returns a result or structured bounded error and remote project discovery produces accepted identifiers.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, macos, rust
Domain
api, backend, desktop, mobile
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.