Skip to content

Regression: codex resume picker slowed from 2-3s to 8-60s after updating to 0.124.0 #19483

@chalgoon9

Description

@chalgoon9

What version of Codex CLI is running?

0.124.0

What subscription do you have?

[Please fill in: Plus / Pro / Team / Enterprise]

Which model were you using?

gpt-5.5

What platform is your computer?

Linux lia-server 6.8.0-110-generic #110-Ubuntu SMP PREEMPT_DYNAMIC Thu Mar 19 15:09:20 UTC 2026 x86_64 x86_64 x86_64 GNU/Linux

Node.js: v22.22.0
npm: 10.9.4
Install path: /home/lia/.npm-global/bin/codex

What terminal emulator and version are you using?

[Please fill in]

What issue are you seeing?

After updating Codex CLI to the recent version 0.124.0, codex resume became excessively slow when opening the resume picker.

This is a regression after the recent CLI update, not simply a case of having a large local history. Before the update, the same machine and accumulated session history loaded the resume picker in about 2-3 seconds. After updating to 0.124.0, the same workflow became much slower.

The slowdown appears to scale with the number and total size of local session JSONL files after the update, but the important point is that this history was previously usable. I want to keep my session history, so deleting old sessions is not an acceptable long-term workaround.

Current local state after manually archiving old session files outside the active scan path:

Codex CLI: 0.124.0
Model: gpt-5.5
Active session JSONL files under ~/.codex/sessions: 27
Active session directory size: 260M
Archived session JSONL files moved outside active scan path: 821
Archived session size: 3.1G
State DB thread rows: 833
Visible rows: 36
Archived rows: 797

Even after reducing the active session set to only 27 JSONL files, codex resume still takes around 8 seconds for the picker list to become visible.

Measured after reinstalling the same CLI version:

run 1: 8.236s
run 2: 7.927s
run 3: 7.982s

Before physical archiving, with the full session history in the active scan path, the full load after the update was much worse:

Average first list: about 10.22s
Average full load: about 62.83s

Different active retention sizes showed that the slowdown scales with session history size:

30-day active keep:
- 82 files
- 2.1G
- full load: about 40-46s

14-day active keep:
- 49 files
- 449M
- full load: about 10-18s
- average: about 12.75s

7-day active keep:
- 25-27 files
- about 253-260M
- full load/list visible: about 6-8s

Reinstalling @openai/codex@0.124.0 did not improve the behavior. npm uninstall/install completed successfully and the package files were refreshed, but resume loading remained slow.

What steps can reproduce the bug?

  1. Use Codex CLI 0.124.0.
  2. Accumulate many local Codex sessions under ~/.codex/sessions, including large JSONL files.
  3. Run:
codex resume
  1. Observe that the resume picker remains on Loading sessions... for a long time.
  2. Reduce the active session set and observe that loading time improves roughly with fewer/smaller JSONL files, but remains slow even with a relatively small active set.

What is the expected behavior?

codex resume should open the resume picker quickly even when the user has a large local session history.

The picker should not require scanning or parsing large amounts of JSONL before becoming usable. It should preferably use the state DB/index first, render quickly, and load heavier history lazily only when needed.

Keeping long-term session history should not make the native resume picker progressively slower.

Additional information

I want to preserve session history and continue using the native codex resume command. Manual archiving of old JSONL files improves load time, but this is only a workaround and requires external session management.

The regression became noticeable only after updating to the recent Codex CLI version. Before the update, the resume picker was typically usable in about 2-3 seconds with the accumulated local history. I am avoiding CLI rollback because this version is also tied to GPT-5.5 availability in Codex, and I want to keep using gpt-5.5.

There may be an architectural issue in the resume picker path where it still scans/parses session JSONL files instead of relying primarily on the state DB metadata.

Metadata

Metadata

Assignees

No one assigned

    Labels

    TUIIssues related to the terminal user interface: text input, menus and dialogs, and terminal displaybugSomething isn't workingregressionBehaviors that worked in previous versions but were broken due to an updatesessionIssues involving session (thread) management, resuming, forking, naming, archiving

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions