codex resume interactive picker hangs/freezes when session files are large; codex resume <id> works fine

Open 💬 3 comments Opened May 31, 2026 by xyx0527

codex resume interactive picker hangs/freezes when session files are large; codex resume <id> works fine

Summary

The interactive session picker launched by codex resume becomes completely unresponsive when the session list contains large .jsonl files. The UI renders the list but pressing Enter has no effect and no error is shown. Passing the session ID directly via codex resume <session-id> works correctly as a workaround.

The same symptom appears in the Codex desktop app (Windows Store): opening an existing conversation freezes the UI indefinitely, while creating a new conversation works fine. This suggests both issues share the same root cause — synchronous loading/rendering of large session history data blocks the UI thread.

Environment

| Field | Value |
|---|---|
| Codex CLI version | codex-cli 0.135.0 |
| OS | Windows 10 Home China (running CLI via PowerShell 7) |
| Hardware | Intel Core i9-13980HX, 32 GB RAM |
| Desktop App version | OpenAI.Codex 26.527.3686.0 (Microsoft Store) |

Session file sizes

The largest session file is ~17 MB. The picker freezes when this session is visible in the list.

rollout-2026-05-11T23-56-03-019e17c0-...  17,745,306 bytes  (last modified 2026/5/20)
rollout-2026-03-26T21-03-02-019d2a3d-...  11,095,058 bytes
rollout-2026-04-11T22-28-55-019d7cf2-...   9,076,656 bytes
rollout-2026-04-25T22-25-38-019dc508-...   8,972,159 bytes
rollout-2026-03-31T19-24-38-019d43a3-...   6,409,606 bytes
... (14 session files total)

Steps to Reproduce

  1. Accumulate several long Codex sessions over time (largest ~17 MB .jsonl)
  2. Run codex resume in PowerShell or WSL bash
  3. Interactive picker renders the session list correctly
  4. Highlight any session entry and press Enter
  5. Nothing happens — no response, no error, no session loads

Expected Behavior

Pressing Enter on a highlighted session should resume that session immediately.

Actual Behavior

  • Enter key has no effect
  • The picker remains frozen on screen
  • No error message or feedback is shown
  • CPU and memory usage remain normal (UI thread blocked, not crashed)
  • Ctrl+C is required to exit

Workaround

Passing the session ID directly bypasses the picker and works correctly:

codex resume 019e17c0-add1-7980-95d9-03fffecb18c8

Root Cause Hypothesis

The interactive picker appears to load or render session preview data synchronously on the UI thread. When session files are large (10–17 MB), this blocks input handling entirely. The codex resume <id> path skips the preview rendering step and therefore succeeds.

The Codex desktop app (Windows Store) exhibits identical behavior: existing conversations freeze the UI on open, while new conversations work fine. Both regressions appeared after recent app updates, suggesting a shared code path for session history loading was affected.

Related Issues

  • #19923 — Codex Windows "not responding" freeze/hang with long chat/thread
  • #20214 — Codex App frequently freezes/stutters on Windows 11 when opening existing chat sessions
  • #20544 — Codex Desktop freezes when opening mini/popout windows; image-heavy histories are much worse
  • #24251 — Windows Desktop freezes at turn start and completion
  • #28363 — Windows Codex app hangs indefinitely during context compaction

View original on GitHub ↗

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