codex - 💡(How to fix) Fix Codex Desktop project sidebar hides older workspace conversations despite existing local thread data [2 comments, 3 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
openai/codex#20833Fetched 2026-05-03 04:44:38
View on GitHub
Comments
2
Participants
3
Timeline
5
Reactions
0
Timeline (top)
labeled ×3commented ×2

Codex Desktop is hiding older project/workspace conversations from the left sidebar even though the underlying local thread data still exists and is unarchived.

This appears to be the same class of sidebar/history visibility bug reported in:

The local evidence strongly suggests the Desktop sidebar is driven by a limited recent-thread preload, likely the first thread/list(limit=50, sortKey=updated_at) page, rather than loading or paging the full history for the selected workspace/project.

Root Cause

Existing conversations should not disappear from the project sidebar just because they are older than the global recent-thread preload.

Code Example

019deb11-ef45-7002-9474-af7ebd719efd

---

total_threads  active_threads  active_workspace_threads
-------------  --------------  ------------------------
1369           1349            7

---

rank  id                                    updated_utc          title
----  ------------------------------------  -------------------  -------------------------------
1     019deb11-ef45-7002-9474-af7ebd719efd  2026-05-02 23:58:23  current investigation thread
125   019dd048-6544-7512-97d9-7530accab631  2026-04-27 21:02:20  older workspace thread
126   019dd0b4-b783-7210-9cfb-6f476d5165af  2026-04-27 21:01:16  older workspace thread
179   019dcf5e-4008-7b10-bc12-7421030aaf43  2026-04-27 14:44:20  older workspace thread
296   019dbcfe-ffdb-7982-bbe8-0e938b452667  2026-04-24 00:59:51  older workspace thread
310   019dbaa8-738c-7532-acdb-88eb399cd838  2026-04-23 14:32:29  older workspace thread
333   019db150-5677-7b50-91fb-ac67b1ce1ee5  2026-04-22 01:54:15  older workspace thread
RAW_BUFFERClick to expand / collapse

Codex Desktop project sidebar hides older workspace conversations while local thread data still exists

Feedback ID

I also uploaded in-app feedback for this issue. Feedback/thread id:

019deb11-ef45-7002-9474-af7ebd719efd

Environment

  • Codex Desktop: 26.429.30905 (CFBundleVersion 2345)
  • Platform: macOS 26.3 (25D125), Darwin 25.3.0, arm64
  • Subscription: ChatGPT Pro
  • Local storage: ~/.codex/state_5.sqlite, ~/.codex/sessions, ~/.codex/session_index.jsonl

Summary

Codex Desktop is hiding older project/workspace conversations from the left sidebar even though the underlying local thread data still exists and is unarchived.

This appears to be the same class of sidebar/history visibility bug reported in:

The local evidence strongly suggests the Desktop sidebar is driven by a limited recent-thread preload, likely the first thread/list(limit=50, sortKey=updated_at) page, rather than loading or paging the full history for the selected workspace/project.

What I am seeing

In one local workspace, Codex Desktop shows only the current/recent conversation in the project sidebar. Older conversations for the same workspace are absent from the UI.

The missing conversations are not deleted:

  • They are still present in ~/.codex/state_5.sqlite.
  • They are marked active / unarchived.
  • Their rollout JSONL files still exist under ~/.codex/sessions.
  • They can be made visible again if their metadata is promoted into the recent window, which suggests this is a sidebar visibility/indexing bug, not data loss.

Local diagnostics

I checked the local SQLite state:

total_threads  active_threads  active_workspace_threads
-------------  --------------  ------------------------
1369           1349            7

For the affected workspace, the active unarchived threads exist, but six of seven are outside the global recent window:

rank  id                                    updated_utc          title
----  ------------------------------------  -------------------  -------------------------------
1     019deb11-ef45-7002-9474-af7ebd719efd  2026-05-02 23:58:23  current investigation thread
125   019dd048-6544-7512-97d9-7530accab631  2026-04-27 21:02:20  older workspace thread
126   019dd0b4-b783-7210-9cfb-6f476d5165af  2026-04-27 21:01:16  older workspace thread
179   019dcf5e-4008-7b10-bc12-7421030aaf43  2026-04-27 14:44:20  older workspace thread
296   019dbcfe-ffdb-7982-bbe8-0e938b452667  2026-04-24 00:59:51  older workspace thread
310   019dbaa8-738c-7532-acdb-88eb399cd838  2026-04-23 14:32:29  older workspace thread
333   019db150-5677-7b50-91fb-ac67b1ce1ee5  2026-04-22 01:54:15  older workspace thread

I also verified that the six older rollout files still exist under ~/.codex/sessions.

This matches the reports in #14751 and #18640: after enough newer conversations are created globally, older conversations from a given project fall outside the initial recent page and disappear from the Desktop project sidebar.

Steps to reproduce

  1. Start with a Codex Desktop profile that has many local conversations across multiple workspaces/projects.
  2. In project A, create at least one conversation.
  3. In other projects or general chats, create more than 50 newer conversations.
  4. Restart Codex Desktop.
  5. Open project A in the left sidebar.
  6. Observe that the older project A conversation is missing or the project shows No chats.
  7. Inspect local state under ~/.codex/state_5.sqlite and ~/.codex/sessions.
  8. Observe that the missing conversation still exists locally and is not archived.

Expected behavior

Codex Desktop should show all active unarchived conversations for a project/workspace, or at least page/fetch additional conversations for that specific project when the workspace group is expanded.

Existing conversations should not disappear from the project sidebar just because they are older than the global recent-thread preload.

Actual behavior

The sidebar appears to show only conversations that are already included in the initial recent-thread set. Older conversations remain on disk and in SQLite but are omitted from project grouping.

This makes the UI look like history has been deleted, even though local data still exists.

Suggested fix

The sidebar/project grouping should not depend only on the first global recent page.

Possible fixes:

  • When expanding a project/workspace, call thread/list with a cwd filter for that workspace and page through results as needed.
  • Maintain project-specific pagination instead of only global recent pagination.
  • If using a global cache, keep fetching pages until each visible project has enough representative threads or until the relevant project history has been exhausted.
  • Add a safe local reindex or repair command for Desktop users when local state and sidebar state drift.

Impact

This is high impact for long-running projects because the affected conversations contain project context, design decisions, and implementation history. The current UI makes the history appear lost, which can lead users to assume data loss even though the data is still locally present.

extent analysis

TL;DR

The most likely fix is to modify the Codex Desktop sidebar to fetch conversations beyond the initial recent-thread preload, possibly by implementing project-specific pagination or using a cwd filter when expanding a project/workspace.

Guidance

  • Verify that the issue is indeed caused by the limited recent-thread preload by checking the number of conversations returned by the thread/list(limit=50, sortKey=updated_at) call.
  • Consider implementing project-specific pagination to fetch additional conversations for a specific project when the workspace group is expanded.
  • Use a cwd filter when calling thread/list to retrieve conversations for a specific workspace, and page through results as needed.
  • Evaluate the feasibility of maintaining a global cache and fetching pages until each visible project has enough representative threads or until the relevant project history has been exhausted.

Example

No code snippet is provided as the issue description does not include specific code or APIs that can be modified.

Notes

The suggested fixes are based on the assumption that the issue is caused by the limited recent-thread preload. However, without access to the actual code or implementation details, it is difficult to provide a definitive solution.

Recommendation

Apply a workaround by modifying the Codex Desktop sidebar to fetch conversations beyond the initial recent-thread preload, as this is likely to resolve the issue and provide a better user experience.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

FAQ

Expected behavior

Codex Desktop should show all active unarchived conversations for a project/workspace, or at least page/fetch additional conversations for that specific project when the workspace group is expanded.

Existing conversations should not disappear from the project sidebar just because they are older than the global recent-thread preload.

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

codex - 💡(How to fix) Fix Codex Desktop project sidebar hides older workspace conversations despite existing local thread data [2 comments, 3 participants]