Codex Desktop freezes when opening large pinned project thread after update

Open 💬 3 comments Opened May 29, 2026 by kas021
💡 Likely answer: A maintainer (github-actions[bot], contributor) responded on this thread — see the highlighted reply below.

Summary

After updating Codex Desktop, opening one large pinned project thread freezes the desktop UI. Other threads still open normally. The problematic thread previously worked for months. The app does not appear to be CPU or memory bound during the freeze.

Environment

  • Codex Desktop: 26.527.31326 (bundle version 3390)
  • Bundle identifier: com.openai.codex
  • Codex CLI bundled with app: codex-cli 0.135.0-alpha.1
  • macOS: 26.3 (25D125)
  • Workspace type: local project thread

Symptoms

  • Clicking the affected pinned thread freezes the Codex Desktop UI.
  • The thread content never renders, and the input box is not usable.
  • In some attempts, the rest of Codex becomes difficult/impossible to navigate away from until restart.
  • CPU and memory remain relatively low, so it looks like a UI/render/state issue rather than resource exhaustion.
  • Other Codex chats open successfully.

What seems to trigger it

The affected thread is an older long-running project thread. The local rollout JSONL was originally about 1.8 GB because it contained many embedded data:image base64 payloads and a long history. This thread started freezing only after a recent Codex Desktop update.

Reproduction

  1. Have a long-running Codex Desktop project thread with many turns and embedded images in its local session history.
  2. Pin the thread.
  3. Update Codex Desktop to 26.527.31326.
  4. Restart/open Codex Desktop.
  5. Click the pinned thread.
  6. Observe that the UI freezes and the thread content/input never becomes usable.

Recovery attempts tried

I tried reducing the local session file size to see whether the UI could recover:

  • Replaced embedded data:image base64 payloads with placeholders.
  • Reduced the active JSONL from ~1.8 GB to ~61 MB with 21,523 valid JSONL rows.
  • Then made a stricter UI-safe copy around ~16 MB with 2,727 valid JSONL rows, keeping turn boundaries and user/assistant content.
  • Validated the repaired JSONL had 0 parse errors.
  • The background thread reader could reconstruct recent turns from the reduced file.
  • Codex Desktop still froze when opening the thread.

This suggests the desktop app may also be using cached/indexed UI state, or the rendering path still cannot handle some historic thread structure even after the raw session was reduced.

Expected behavior

Codex Desktop should either open the large historic thread, progressively render it, or fail gracefully with an option to open a compact/recovered view. It should not freeze the desktop UI.

Actual behavior

The thread freezes on open and the user cannot access the old chat content or continue typing in that thread.

Privacy note

I am not attaching the raw session because it contains private project context and was originally very large. I can provide additional sanitized metadata if useful.

View original on GitHub ↗

3 Comments

github-actions[bot] contributor · 3 months ago

Potential duplicates detected. Please review them and close your issue if it is a duplicate.

  • #24676
  • #24100

Powered by Codex Action

kas021 · 2 months ago

Follow-up evidence: the recovered replacement thread hit the same desktop freeze pattern after image-heavy turns. The new thread's local JSONL reached ~70 MB and contained 33 embedded data:image payloads from image uploads. Rewriting only those embedded image strings to placeholders reduced the thread file to ~8.4 MB with 3,491 valid JSONL rows and 0 parse errors; the background thread reader can reconstruct recent turns after that. This suggests Codex Desktop is sensitive to inline image payloads in thread history even in newly created threads, not only the original months-long thread.

kas021 · 2 months ago

Additional follow-up: after stripping embedded images, the recovered thread was ~8.4 MB / 3,491 JSONL rows and could be read by the background thread reader, but Codex Desktop still froze after opening/rendering it. Reducing the active session further to a recent-turns-only view (~468 KB / 358 JSONL rows, no compaction blobs/tool outputs/images) is the next workaround. This suggests the desktop renderer may have trouble not only with inline images but also with medium-sized histories/compaction rows in some threads.