Codex Mac app hides unarchived local threads until they are messaged again

Open 💬 1 comment Opened May 4, 2026 by cheulyop

What version of Codex are you using?

Codex app latest-version cache shows 0.128.0.

What platform is your computer?

macOS arm64.

What issue are you seeing?

Codex Mac app hid an existing local Desktop thread from the project sidebar even though the underlying thread data was intact and the thread was not archived.

After resuming the hidden thread with Codex CLI and sending a new message, the same thread reappeared in the Codex app sidebar.

Local inspection before/after suggests the visibility change was caused by the thread becoming recent/active again, not by archive state or workspace metadata being repaired.

Local evidence, redacted

For the missing thread:

  • threads.archived = 0
  • source = vscode
  • cwd = <PROJECT_PATH>
  • rollout file existed under ~/.codex/sessions/.../<THREAD_ID>.jsonl
  • the direct parent/root fork lineage was also unarchived
  • the project path was present in the saved workspace roots
  • the app sidebar still did not show the thread under that project

After resuming that hidden thread with Codex CLI and sending a new message:

  • archived stayed 0
  • cwd stayed unchanged
  • thread-workspace-root-hints[<THREAD_ID>] was still absent/null
  • updated_at advanced to the new message time
  • the rollout JSONL gained the new message/events
  • the thread reappeared in the app sidebar

Example queries used locally:

select id, archived, source, cwd, updated_at, rollout_path
from threads
where id = '<THREAD_ID>';
jq '.["thread-workspace-root-hints"]["<THREAD_ID>"], .["electron-saved-workspace-roots"]' ~/.codex/.codex-global-state.json

Expected behavior

All unarchived local Desktop threads for a saved workspace should remain discoverable in the Codex app sidebar/history, even if they are older and have not been recently messaged.

A user should not need to recover an existing unarchived local thread through codex resume and send a message just to make it reappear in the Desktop app.

Actual behavior

The thread was hidden from the sidebar until it was resumed through Codex CLI and messaged again. Once messaged, it reappeared, while archive state and workspace-root metadata did not materially change.

This makes it look like important work history has been lost, even though the underlying local thread files and DB rows still exist.

Related issues

This seems related to, but not exactly the same as:

  • #14751
  • #16095
  • #14519
  • #15448

The distinctive signal here is: an unarchived local Desktop thread becomes visible again after codex resume + a new message bumps recency, without archive/workspace metadata changing.

View original on GitHub ↗

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