Repository navigation
Codex Mac app hides unarchived local threads until they are messaged again #20959
Description
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 = 0source = vscodecwd = <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:
archivedstayed0cwdstayed unchangedthread-workspace-root-hints[<THREAD_ID>]was still absent/nullupdated_atadvanced 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:
- Desktop app sidebar only shows loaded recent subset, not full workspace history #14751
- Mac app stops showing local threads even though local thread data still exists #16095
- Desktop-created worktree thread exists locally but never appears in Codex Desktop thread list #14519
- Codex App hides existing threads when a project is reopened via a symlinked workspace path on macOS #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.
Activity
github-actions commentedon May 4, 2026
Potential duplicates detected. Please review them and close your issue if it is a duplicate.
Powered by Codex Action