Codex thread search does not match visible title or thread UUID

Open 💬 0 comments Opened Jul 21, 2026 by marcplotkin

What version of the Codex App are you using?

Codex Desktop 26.715.52143; ChatGPT iOS Remote client observed in local logs as codex_chatgpt_ios_remote v1.2026.188.

What platform is your computer?

macOS on Apple Silicon.

What issue are you seeing?

Codex thread search is not matching a thread by its visible display title or by its thread UUID, even though the same thread appears in the unfiltered thread list and can be opened/read directly.

Target thread:

  • Thread ID: 019f62f9-2f25-7b92-8f4a-a0950fe32c03
  • Visible display title: Build account and billing - active
  • Status: active, not archived

Observed through the app thread APIs:

  • list_threads(limit: 12) includes the thread and shows the display title Build account and billing - active.
  • read_thread(threadId: "019f62f9-2f25-7b92-8f4a-a0950fe32c03", turnLimit: 1, includeOutputs: false) succeeds.
  • list_threads(query: "billing") returns the target thread.
  • list_threads(query: "Build account") returns no results.
  • list_threads(query: "019f62f9-2f25-7b92-8f4a-a0950fe32c03") returns no results.

What steps can reproduce the bug?

  1. Have an existing Codex thread with a visible display title containing multiple words.
  2. Confirm the thread appears in the normal unfiltered thread list.
  3. Search for a single word from the title that appears later in the title, such as billing.
  4. Search for an earlier title phrase, such as Build account.
  5. Search for the exact thread UUID.

Observed:

  • One title token can find the thread.
  • A visible title phrase does not find the thread.
  • The exact UUID does not find the thread.

Expected:

  • Search should match visible display-title text consistently.
  • Search should match exact thread UUIDs, or there should be a separate explicit lookup path for UUIDs.

This may be related to the iOS Remote missing-thread issue in #30386, but it appears to be a distinct search/indexing problem because the thread is present and readable by direct list/read paths.

View original on GitHub ↗