codex - 💡(How to fix) Fix [VS Code Remote Linux] duplicate same-title history entries, blank thread after reopen, and archived thread corruption [3 comments, 2 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#19267Fetched 2026-04-24 10:39:45
View on GitHub
Comments
3
Participants
2
Timeline
6
Reactions
0
Author
Timeline (top)
commented ×3labeled ×3

In a VS Code Remote session on Linux, the Codex extension persisted duplicate conversation history entries with the same title, and after restarting VS Code one of the affected conversations reopened as a blank thread. The same class of corruption is also visible in archived history.

This does not appear to be only a UI-list duplication bug. I confirmed duplicate thread records in the local persisted Codex state.

This may be related to open issues around thread restore / no-handler thread broadcasts / PendingMigrationError, but this case appears more severe because duplicate thread records are written to disk and archived history is also affected.

Possibly related:

  • #14812
  • #13343
  • #11721

Root Cause

This may be related to open issues around thread restore / no-handler thread broadcasts / PendingMigrationError, but this case appears more severe because duplicate thread records are written to disk and archived history is also affected.

RAW_BUFFERClick to expand / collapse

Summary

In a VS Code Remote session on Linux, the Codex extension persisted duplicate conversation history entries with the same title, and after restarting VS Code one of the affected conversations reopened as a blank thread. The same class of corruption is also visible in archived history.

This does not appear to be only a UI-list duplication bug. I confirmed duplicate thread records in the local persisted Codex state.

This may be related to open issues around thread restore / no-handler thread broadcasts / PendingMigrationError, but this case appears more severe because duplicate thread records are written to disk and archived history is also affected.

Possibly related:

  • #14812
  • #13343
  • #11721

Environment

  • Date observed: April 24, 2026
  • IDE: VS Code Remote / server-side extension host
  • Platform: Linux server via Remote connection
  • Extension id: openai.chatgpt
  • Current extension path: /home/ghj/.vscode-server/extensions/openai.chatgpt-26.422.21459-linux-x64
  • Previous extension path also observed during the same period: /home/ghj/.vscode-server/extensions/openai.chatgpt-26.417.40842-linux-x64
  • Local Codex state dir: /home/ghj/.codex

What happened

I had an existing main conversation in the Codex sidebar/history.

Then the following happened:

  1. Two history entries with the same title appeared at the same time.
  2. One of them was the main conversation I had been using.
  3. After exiting VS Code and reopening it, that main conversation opened as blank.
  4. The same general problem is also visible in archived history.

Confirmed persisted-state evidence

Duplicate threads exist in the persisted index and SQLite state

I found duplicate titles with different thread ids in both:

  • ~/.codex/session_index.jsonl
  • ~/.codex/state_5.sqlite (threads table)

Examples:

  • 查看当前文件夹
    • 019dbd5d-bc1c-7372-8a89-f080377714b5
    • 019dbd5e-3dfe-77a2-9433-641d9db26c37
  • 部署 PyTorch 教程项目
    • 019dba08-5438-7952-a413-10d82310f4cd
    • 019dba09-367d-7750-ab79-0d19bdfafa09
    • 019dba09-367d-7750-ab79-0d23cc726822

So this is not just a list-rendering duplication. Duplicate thread records were persisted locally.

Corrupted thread titles

Some thread titles were polluted with tool/protocol fragments, for example strings like:

  • '} to=final ...
  • }]

This suggests thread-title extraction or replay/reindex logic is consuming malformed serialized content.

Duplicate threads point to distinct rollout files

For the duplicate 查看当前文件夹 entries, the two thread records point to different rollout files:

  • /home/ghj/.codex/sessions/2026/04/24/rollout-2026-04-24T10-42-10-019dbd5d-bc1c-7372-8a89-f080377714b5.jsonl
  • /home/ghj/.codex/sessions/2026/04/24/rollout-2026-04-24T10-42-43-019dbd5e-3dfe-77a2-9433-641d9db26c37.jsonl

Both files contain real session streams, so the same user intent appears to have been materialized into more than one conversation record.

Archived history is also affected

Archived duplicate rollout files exist for the same user prompt under ~/.codex/archived_sessions, including multiple archived threads with the same title.

Relevant logs and timing

During the same period, I found the following signals:

1. Extension activation / migration failures

In VS Code remote extension host logs on April 24, 2026, I repeatedly saw:

  • PendingMigrationError: navigator is now a global in nodejs

This affected both:

  • openai.chatgpt-26.417.40842-linux-x64
  • openai.chatgpt-26.422.21459-linux-x64

2. Transport overload

In both Codex local logs and the extension logs, I repeatedly saw:

  • dropping overload response for connection ConnectionId(0): outbound queue is full

3. Missing IPC handlers for thread state broadcasts

I repeatedly saw warnings like:

  • Received broadcast but no handler is configured method=thread-stream-state-changed
  • Received broadcast but no handler is configured method=thread-read-state-changed

4. Local backup created during the affected period

A backup directory also appeared locally during the same period:

  • ~/.codex.backup.20260424-105549

That timestamp lines up with the window where the repeated thread-state warnings and restore anomalies were happening.

Working hypothesis

This looks like more than a simple frontend history-list issue.

A plausible failure chain is:

  1. extension activation/migration fails intermittently
  2. extension host / Codex app-server state gets out of sync
  3. thread-state broadcasts arrive while handlers are missing
  4. transport overload starts dropping responses
  5. session restore/replay or recovery persists duplicate thread records
  6. title extraction or reindexing consumes malformed event content
  7. on reopen, one affected thread cannot hydrate correctly and appears blank

Expected behavior

  • A conversation should have exactly one persisted thread record unless the user explicitly creates a new conversation.
  • Reopening VS Code should not produce duplicate same-title history entries.
  • Existing threads should reopen with their content instead of rendering as blank.
  • Archived history should not accumulate duplicate/corrupted thread records.
  • Thread titles should never contain protocol/tool serialization fragments.

Additional notes

I preserved the local evidence and did not clear ~/.codex after the failure.

If useful, I can provide a sanitized support bundle containing:

  • session_index.jsonl
  • state_5.sqlite
  • logs_2.sqlite
  • relevant remoteexthost.log
  • relevant openai.chatgpt/Codex.log
  • the affected rollout JSONL files

extent analysis

TL;DR

The issue can be mitigated by clearing the local Codex state directory and checking for any extension updates to address the PendingMigrationError and transport overload issues.

Guidance

  1. Clear local Codex state: Try deleting the contents of the ~/.codex directory to remove any corrupted state and see if the issue persists.
  2. Check for extension updates: Ensure the openai.chatgpt extension is up-to-date, as updates may address the PendingMigrationError and transport overload issues.
  3. Verify thread records: After clearing the local state, check the session_index.jsonl and state_5.sqlite files for any remaining duplicate thread records.
  4. Monitor logs: Keep an eye on the VS Code remote extension host logs and Codex local logs for any recurring errors or warnings related to extension activation, migration, or transport overload.

Example

No code snippet is provided as this issue appears to be related to extension and state management rather than code-specific errors.

Notes

The provided information suggests a complex issue involving extension activation, state management, and transport overload. Clearing the local Codex state and checking for extension updates may help mitigate the issue, but further investigation and potentially more targeted fixes may be necessary to fully resolve the problem.

Recommendation

Apply the workaround of clearing the local Codex state and checking for extension updates, as this may help alleviate the symptoms of the issue while a more permanent fix is developed.

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

  • A conversation should have exactly one persisted thread record unless the user explicitly creates a new conversation.
  • Reopening VS Code should not produce duplicate same-title history entries.
  • Existing threads should reopen with their content instead of rendering as blank.
  • Archived history should not accumulate duplicate/corrupted thread records.
  • Thread titles should never contain protocol/tool serialization fragments.

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 [VS Code Remote Linux] duplicate same-title history entries, blank thread after reopen, and archived thread corruption [3 comments, 2 participants]