openai / openai/codex

[Remote/Android/macOS] Worktree threads omitted from project list despite shared projectId

Open
#42,989 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

app bug remote session
Dominant language
Rust
Stars
125k
Forks
19.4k
PR merge metrics
PR metrics pending

Description

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

26.901.31953 (build 7868); bundled codex-cli/app-server 0.153.1

What subscription do you have?

ChatGPT Pro

What platform is your computer?

Darwin 25.6.0 arm64 arm

What issue are you seeing?

ChatGPT Android Remote shows a root-checkout chat inside a saved local project but omits an active Codex-managed worktree chat belonging to the same project.

Desktop app-server returns both threads through thread/list and thread/read. Both are active/non-archived top-level chats with the same projectId and hostId. The only material difference is cwd:

  • visible: canonical saved project root
  • missing: $CODEX_HOME/worktrees//

Android opens the saved project, displays only the root-checkout chat, and reports "No more threads." The missing chat remains healthy and readable on Desktop, so this is a Remote project association/list filtering bug, not data loss.

Re-pairing Remote, restarting both apps, and reinstalling the Android app did not help.

What steps can reproduce the bug?
  1. On macOS, add a Git repository as a saved local project in ChatGPT/Codex Desktop.
  2. Create one top-level chat in the canonical local checkout.
  3. Create another top-level chat for the same project using a Codex-managed worktree under $CODEX_HOME/worktrees.
  4. Confirm through Desktop app-server that both chats have the same projectId and hostId and are not archived.
  5. Connect ChatGPT Android Remote to that Mac using the same ChatGPT account and workspace.
  6. Open the saved project on Android.
  7. Observe that only the canonical-root chat is listed and the UI says "No more threads," while the worktree chat remains active and readable on Desktop.

Exact thread and project IDs were provided privately to OpenAI Support and are intentionally omitted here.

What is the expected behavior?

All non-archived chats associated with the same saved projectId and hostId should be discoverable under that project in Android Remote. A worktree chat should keep its actual execution cwd but be grouped under the canonical repository/project instead of being silently omitted.

Additional information

Environment:

  • ChatGPT/Codex Desktop 26.901.31953, build 7868
  • bundled codex-cli/app-server 0.153.1
  • macOS 26.6.2 (25G83), Apple Silicon
  • Android ChatGPT Remote, same account and workspace; exact Android build is not exposed on the affected screen

Possibly related local log signals:

  • Remote can report state=connected together with nextError.code=connection-failed.
  • Bundled runtime warns about invalid experimental feature enablement keys apps_mcp_path_override and local_thread_store_compression.

Likely boundary: Android Remote appears to use literal thread cwd during project grouping/filtering instead of the shared projectId or canonical Git repository identity.

Related reports:

  • #35800: Remote omits Desktop-created chats and reaches "No more threads"
  • #31623: Mobile Remote groups Git worktree sessions by exact cwd
  • #23418: Worktree thread exists locally but is not associated with its project
  • #24462: Mobile synchronization removes an otherwise healthy local project/chat

No destructive state reset or handoff was performed because the omitted worktree chat was active.

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 by tracing Android Remote's saved-project thread listing and grouping behavior, using thread/list and thread/read as the relevant entry points. Compare how the canonical checkout and the $CODEX_HOME/worktrees path are associated when they share a projectId and hostId; done means both non-archived chats appear under the saved project while retaining the worktree cwd.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, macos, rust
Domain
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.