Threads disappear from sidebar after updating — migration version-38 checksum mismatch caused by PR #28655
What version of the Codex App are you using (From “About Codex” dialog)?
26.611.61753
What subscription do you have?
Pro
What platform is your computer?
Darwin 23.6.0 arm64 arm
What issue are you seeing?
After updating Codex on June 17, 2026, two threads completely disappeared from the left sidebar — one was a worktree session, the other a regular "local change" session.
The sidebar shows no trace of them. No crash or error was shown. 😭
This appears to be caused by the migration version-38 checksum mismatch introduced by the revert in PR [#28655](<https://github.com/openai/codex/issues/28655>), which was explicitly warned about by the chatgpt-codex-connector bot before merge:
"If any state DB has already recorded this reverted migration as version 38, deleting it leaves version 38 represented by the different 0038_external_agent_config_imports.sql file; the runtime migrator only ignores missing newer versions and still validates checksums for known versions, so those users will fail state DB migration on startup with a checksum mismatch instead of opening their existing sessions."
Relevant PR: [openai/codex#28655](<https://github.com/openai/codex/issues/28655>) <br>Commit: [https://github.com/openai/codex/pull/28655/commits](<https://github.com/openai/codex/pull/28655/commits>) <br>Deleted migration file: codex-rs/state/migrations/0038_threads_recency_at.sql <br>(which added ALTER TABLE threads ADD COLUMN recency_at INTEGER NOT NULL DEFAULT 0;)
What steps can reproduce the bug?
- Install or use Codex with migration
0038_threads_recency_at.sqlapplied (i.e., any version that included PR [#27910](<https://github.com/openai/codex/issues/27910>)) - Create new threads in Codex
- Update Codex to a version that includes the revert in PR [#28655](<https://github.com/openai/codex/issues/28655>)
- Launch Codex — the migrator encounters a checksum mismatch for version 38
- Threads created while PR [#27910](<https://github.com/openai/codex/issues/27910>) was active (after [#27910](<https://github.com/openai/codex/issues/27910>), before [#28655](<https://github.com/openai/codex/issues/28655>)) fail to load silently — sidebar shows no trace of them, no error shown to user
What is the expected behavior?
Existing threads should persist across updates. PR [#28655](<https://github.com/openai/codex/issues/28655>) should've included a compatibility path for the old version-38 checksum (or renumbered the migration history), as the bot explicitly recommended, before merge.
Additional information
The chatgpt-codex-connector bot flagged this as a required fix in its PR review comment on [#28655](<https://github.com/openai/codex/issues/28655>) before it was merged. The warning was not acted on. Users who had PR [#27910](<https://github.com/openai/codex/issues/27910>) already applied to their local state DB are silently losing thread history. 😭
Affected sessions: 1 worktree thread, 1 regular local-change thread — both lost after update.
Possible fix: add a compatibility migration path that accounts for the old version-38 checksum, or provide a manual recovery path for affected users (e.g., how to inspect/repair the state DB via sqlite3).
Note: This is distinct from openai/codex#28607 and openai/codex#28664. Those issues describe threads missing/unopenable without identifying a root cause. This issue identifies the specific cause: the migration version-38 checksum collision from PR [#28655](<https://github.com/openai/codex/issues/28655>), which the bot explicitly flagged as a P1 risk before merge.
Timeline
- App bundle timestamp: 2026-06-16 22:24:19 CDT (build/sign time, not apply time)
- PR [#28655](<https://github.com/openai/codex/issues/28655>) merged: \~2026-06-17 00:00–01:00 CDT (showed "3 hours ago" at 03:00 CDT)
- Update applied: \~2026-06-17 01:05 CDT (verified by user action)
- Thread loss observed: immediately after relaunch post-update
State DB forensics
- Two sets of
logs_2.sqlitefound in~/.codex— the pre-update DB (70.6 MB, last modified 2026-06-17 01:08 CDT) confirms the update applied at \~01:05–01:09 CDT, after PR [#28655](<https://github.com/openai/codex/issues/28655>) merged. - Maintainers: the pre-update DB likely still contains the missing threads — a recovery guide (e.g., via sqlite3) would help affected users.
3 Comments
Potential duplicates detected. Please review them and close your issue if it is a duplicate.
Powered by Codex Action
Have lost several threads this week through multiple Codex versions including the most recently deployed at time of writing (26.616.31447) but the thread content is still present on disk:
session_index.jsonlrollout-*.jsonlfiles exist under.codex\sessionsfor the missing thread IDsthreadsrows still exist for IDsWildly frustrating loosing millions of tokens of work to bugs like this.
All of my remote threads running on my Linux box had the same issue on my windows desktop and laptop. The entire thread history was gone, and it only happened after the last update.
I knew I still had a job running, so I opened that project, started a new chat, and asked, “Is there an active thread running? I can’t see it.” I also gave Codex a screenshot showing no history under the project to give it context. It confirmed that the thread was still active and said it couldn’t add it back to the project’s thread list, but it was able to pin it so I could see it again, so odd...
This is 100% a bug in the Codex app. The data is still there, and the SQLite database contains all of the thread information. The app is just failing to parse or process it correctly and display it in the project.