Codex Mac app hides unarchived local threads until they are messaged again
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:
- #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.
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗