Windows Desktop: sidebar/project list lost after update; search still finds threads; projectless-thread-ids workaround restores flat chats but project grouping remains broken

Open 💬 5 comments Opened Apr 27, 2026 by crmendi

What version of the Codex App are you using (From “About Codex” dialog)?

Observed after two Desktop updates: - Earlier affected version in logs: OpenAI.Codex_26.422.2437.0_x64__2p2nqsd0c76g0 - Current affected version: OpenAI.Codex_26.422.3464.0_x64__2p2nqsd0c76g0 - Packaged app-server process currently used by Desktop: C:\Program Files\WindowsApps\OpenAI.Codex_26.422.3464.0_x64__2p2nqsd0c76g0\app\resources\codex.exe app-server --analytics-default-enabled Global npm CLI was also checked: - Before: codex-cli 0.34.0 - Updated to: codex-cli 0.125.0 - But Desktop does not use the global npm CLI; it uses the packaged app\resources\codex.exe.

What subscription do you have?

ChatGPT Plus.

What platform is your computer?

Microsoft Windows NT 10.0.26200.0 x64

What issue are you seeing?

Summary
After updating Codex Desktop on Thursday, April 23, 2026, the left sidebar stopped showing my historical chats/projects.

The data is not lost:

Desktop search still finds the old chats.
state_5.sqlite still contains the threads.
session_index.jsonl still exists.
sessions still exists.
thread/list returns successfully with errorCode=null.
However:

The normal sidebar only showed 3 recent/projectless chats.
Projects were not restored in the sidebar.
Search results still showed old chats with their project labels.
A local workaround that rebuilt .codex-global-state.json -> projectless-thread-ids made all old chats visible again, but only as a flat Chats list, not grouped by project.
Reducing projectless-thread-ids back to the actual 3 projectless chats made all old project chats disappear again.
This strongly suggests the Desktop sidebar/project grouping is no longer being populated correctly from the existing local thread database and workspace hints.

What issue are you seeing?
After update, historical chats and projects disappeared from the left sidebar.

Expected:

Existing chats should remain visible in the sidebar.
Existing projects should remain visible/grouped.
Search and sidebar should agree on the same local thread set.
Project grouping should work from existing threads.cwd, thread-workspace-root-hints, or equivalent project state.
Actual:

Search finds old chats/projects.
Sidebar initially showed only 3 chats:
Fix chat list visibility
Corrige estado local tras update
Recupera proyectos y chats
Those 3 IDs exactly matched .codex-global-state.json -> projectless-thread-ids.
Rebuilding projectless-thread-ids with all 101 non-archived thread IDs made all chats visible, but flat under Chats.
Rebuilding thread-workspace-root-hints and adding historical workspaces to config.toml did not make project sections reappear.
Restoring projectless-thread-ids to only the 3 Documents\Codex generated/projectless threads hid the older project chats again.
Local evidence
Important local files:

C:\Users\user\.codex\state_5.sqlite
C:\Users\user\.codex\session_index.jsonl
C:\Users\user\.codex\sessions
C:\Users\user\.codex\.codex-global-state.json
C:\Users\user\.codex\config.toml
C:\Users\user\.codex\auth.json
Backup created before repair attempts:

C:\Users\user\Documents\Codex\2026-04-23\backup-codex-20260423-224608
Current thread database findings:

threads_total: 107
non_archived_threads: 101
archived_threads: 6
No thread rows had:

cwd = '~'
cwd LIKE '%~%'
All checked cwd paths existed.

Many historical thread cwd values use Windows extended path form:

\\?\C:\Users\user\...
Examples of redacted workspaces present in the DB:

C:\Users\user\OneDrive - redacted\Python\Web
C:\Users\user\OneDrive - redacted\Python\Revision pliegos\V2 APP
C:\Users\user\OneDrive - redacted\Python\App_Topologia
C:\Users\user\OneDrive - redacted\Documentos\Playground
C:\Users\user\OneDrive - redacted\Python\Contratos_Extreme\Extractor contratos
C:\Users\user\OneDrive - redacted\Python\Bot
C:\Users\user\Downloads\MCP
C:\Users\user\Downloads\Mindfull
Relevant .codex-global-state.json behavior
Before workaround:

"projectless-thread-ids": [
"019dbd91-c5bb-7fc1-8f6d-37bac0fa85af",
"019dbe43-32ce-73d1-9e04-593ae16dfd1e",
"019dcfb9-c254-7200-a2e9-dd4024aac53b"
]
Those were exactly the only 3 chats visible in the sidebar.

thread-workspace-root-hints existed only for those 3 initially.

After rebuilding projectless-thread-ids with all non-archived threads:

projectless-thread-ids: 101
thread-workspace-root-hints: 101
Result:

All old chats became visible again.
But all were shown as a flat Chats list.
Projects were still not separated/grouped in the sidebar.
After setting projectless-thread-ids back to only the 3 Documents\Codex generated/projectless threads while keeping 101 workspace hints:

projectless-thread-ids: 3
thread-workspace-root-hints: 101
Result:

Old project chats disappeared from the sidebar again.
Search still found them.
This suggests sidebar visibility currently depends on projectless-thread-ids, while project grouping is not being rebuilt from the DB/hints/config.

Logs
Desktop logs are under:

C:\Users\user\AppData\Local\Packages\OpenAI.Codex_2p2nqsd0c76g0\LocalCache\Local\Codex\Logs
thread/list succeeds:

method=thread/list
errorCode=null
Repeated Git/workspace worker error:

warning [git-origin-and-roots] Failed to resolve origin for workspace
errorMessage="ENOENT: path does not exist: ~"
The literal ~ was not found as an active cwd in state_5.sqlite, session_index.jsonl, or active .codex-global-state.json values. Occurrences of ~/local:~ in .codex-global-state.json appeared inside prompt-history, not active state.

Feature mismatch also appears repeatedly:

unsupported feature enablement workspace_dependencies
currently supported features are apps, memories, plugins, tool_search, tool_suggest, tool_call_mcp_elicitation
The UI logs show:

Features enabled = "... workspace_dependencies ..."
But the packaged app-server rejects that feature. Adding this to config.toml did not stop Desktop from trying to sync the feature:

[features]
workspace_dependencies = false
Other repeated warning:

No owner repo found for remote task
taskId=task_e_68958a87f4b8832582974f4af01f7c47
taskId=task_e_6894fff9c5588325b30149ccb2d18b83
Repair attempts already tried
Verified data exists:

state_5.sqlite
session_index.jsonl
sessions
auth.json
Backed up local Codex data.

Normalized old session rollout records:

Converted record_type:"state" to type:"state".
Added type:"session_meta" to old headers missing type.
Verified:
0 sessions with record_type.
0 sessions missing type.
Cleared recreatable Desktop cache/state under package directories:

LocalCache\Roaming\Codex
LocalCache\Local\Codex
Settings
TempState
Checked .codex-global-state.json for active ~ or local:~.

None found outside prompt-history.
Updated global npm CLI:

From codex-cli 0.34.0
To codex-cli 0.125.0
Confirmed workspace_dependencies stable true in global CLI.
Did not fix Desktop because Desktop uses packaged app\resources\codex.exe.
Added [features] workspace_dependencies = false to config.toml.

Did not stop Desktop UI from attempting to enable workspace_dependencies.
Created empty literal ~ directories in likely resolution locations as a workaround for ENOENT: path does not exist: ~.

Did not fix sidebar/project grouping.
Rebuilt .codex-global-state.json -> projectless-thread-ids with all non-archived thread IDs.

This restored chat visibility.
But project grouping was lost: all chats appeared flat under Chats.
Rebuilt thread-workspace-root-hints and added missing historical workspaces to config.toml.

Did not restore project grouping.
Reduced projectless-thread-ids back to only actual projectless Documents\Codex threads.

Old project chats disappeared again.
Search still found them.

What steps can reproduce the bug?

Minimal reproduction from current state
Use Codex Desktop on Windows.
Have historical threads in state_5.sqlite with project/workspace cwd values, many using \\?\C:\....
After Desktop update/restart, observe:
Search finds old chats/projects.
Sidebar only shows IDs present in .codex-global-state.json -> projectless-thread-ids.
Project/grouped sidebar entries do not populate from existing threads.cwd or thread-workspace-root-hints.
Manually add all non-archived thread IDs to projectless-thread-ids.
Restart Desktop.
Observe:
All chats appear.
They are not grouped by project.
Remove old project chats from projectless-thread-ids while keeping thread-workspace-root-hints.
Restart Desktop.
Observe:
Old project chats disappear again.
Search still finds them.

What is the expected behavior?

Expected behavior
Codex Desktop should rebuild or read project/sidebar grouping from durable local state:

state_5.sqlite -> threads
session rollout metadata
threads.cwd
thread-workspace-root-hints
trusted projects in config.toml
The sidebar should not depend on projectless-thread-ids to show historical project chats.

Project grouping should work even when Windows paths have equivalent forms:

C:\...
\\?\C:\...
OneDrive-backed paths

Additional information

Actual behavior
thread/list succeeds.
Search finds chats and project labels.
Sidebar project grouping is broken.
Sidebar visibility appears tied to projectless-thread-ids.
thread-workspace-root-hints with 101 entries is not enough to restore project sections.
Desktop repeatedly logs ENOENT: path does not exist: ~.
Desktop UI enables workspace_dependencies, but packaged app-server rejects it.
Related issues
This appears closely related to existing Windows/Desktop state and project grouping bugs:

https://github.com/openai/codex/issues/17540
Windows app: older local threads disappear while still present on disk. Similar state_5.sqlite, session_index.jsonl, sessions, and \\?\C:\... path signals.

https://github.com/openai/codex/issues/17304
Desktop project sidebar hides active threads after update/state drift. Related to project sidebar not showing active historical threads even though local state exists.

https://github.com/openai/codex/issues/18253
Project Timeline shows no history despite existing threads. Related to Windows path identity mismatch with OneDrive/junction/\\?\ prefix.

https://github.com/openai/codex/issues/13845
Windows Desktop passes raw \\?\C:\... cwd to tools/processes. Confirms a Windows path normalization issue in Desktop.

Impact
This makes Codex Desktop look like historical chats/projects were lost after update, even though the local data is still present.

The current workaround can restore visibility only as a flat chat list by stuffing all non-archived threads into projectless-thread-ids, but it does not restore project grouping.

View original on GitHub ↗

This issue has 5 comments on GitHub. Read the full discussion on GitHub ↗