Desktop sidebar/search hides older local project chats although thread data still exists on disk (multi-project, reproducible)
What version of the Codex App are you using (From “About Codex” dialog)?
Version 26.506.20924 (2565)
What subscription do you have?
Plus
What platform is your computer?
21.6.0 arm64 arm
What issue are you seeing?
Codex Desktop sidebar/search is hiding older local chats for multiple projects even though the chats still exist locally. (_Codex helped write this report but through extensive back and forth working on the issue with me_)
- Project roots are visible in sidebar.
- New chats in those projects appear and are searchable.
- Older chats in those same projects are missing from sidebar and not returned by sidebar search.
I verified local data still exists for missing chats in all of:
~/.codex/state_5.sqlite(threadsrows exist,archived=0,source='vscode', correctcwd)~/.codex/session_index.jsonl(IDs present)~/.codex/sessions/.../rollout-*.jsonl(rollout files exist)
Representative IDs (redacted-safe):
- Missing older:
019d7478-212c-7a51-858c-3bd7c9886376,019d7481-c42a-7e63-80af-06e7598f5121 - Visible newer in same project:
019e034b-b67f-75c0-bb36-4d470c743b04,019e03ab-1ab1-7870-b21f-97f79348480f
No explicit UI error message is shown.
What steps can reproduce the bug?
- Use Codex Desktop across several projects for days/weeks so each project has older and newer chats.
- Restart/reopen Codex Desktop.
- Observe that some projects appear in sidebar but older chats are missing/empty.
- Create a brand-new chat in one affected project; it appears immediately.
- Older chats in that project remain hidden in sidebar/search despite existing in local stores.
Read-only verification commands used:
sqlite3 ~/.codex/state_5.sqlite "select id,cwd,source,archived,has_user_event,datetime(updated_at,'unixepoch') from threads where cwd='<PROJECT_ROOT>' and archived=0 and first_user_message<>'' order by updated_at desc;"rg '<THREAD_ID>' ~/.codex/session_index.jsonltest -f "<ROLLOUT_PATH>" && echo exists
I do not have session-id/token-limit/context-window metrics for this issue (this is not an API runtime/token-limit failure).
What is the expected behavior?
If a project is visible in the sidebar, all unarchived local chats for that project should remain visible/searchable (or at least pageable/searchable), including older chats—not only newly created ones.
Additional information
- Environment: macOS, Codex Desktop recent sessions on
0.128.0-alpha.1. - A control project with recent activity still shows many chats (including chats from recent weeks), while several other projects show empty/near-empty; this suggests selective sidebar indexing/hydration failure rather than global data loss.
- I tested multiple local recovery attempts (metadata toggles, index refresh, timestamp bump).
- Only workaround that consistently made a hidden old chat appear:
- clone to a new thread ID
- use a new rollout file path
- add index entry
This suggests stale/broken historical thread identity/index lineage in Desktop UI hydration.
I can upload redacted artifacts if helpful:
state_5.sqlite(or query exports)session_index.jsonl(redacted)- affected thread IDs and project roots (redacted placeholders)
Please confirm whether this matches known issue class #20419 / #14751, and whether there is a supported local “rebuild/reindex sidebar from local stores” recovery action.
This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗