Resume picker "Updated" column not sorted by updated time
Summary
The resume picker list is ordered by created_at, but the UI column is labeled “Updated,” so the timestamps appear out of order.
Steps to reproduce
- Run
codex resume - Observe the “Updated” column ordering (e.g., a newer “1 minute ago” entry can appear below “1 hour ago”)
Expected
Rows should be ordered by the displayed “Updated” timestamp (most recent first).
Actual
Rows are ordered by created_at while the “Updated” column shows a different timestamp.
Evidence
- Before: (attach Image #1)
- After: (attach Image #2)
Proposed fix
In the resume picker, request ThreadSortKey::UpdatedAt instead of CreatedAt so ordering matches the “Updated” column.
Code change (suggested)
- ThreadSortKey::CreatedAt
+ ThreadSortKey::UpdatedAt
File: codex-rs/tui/src/resume_picker.rs (also update the resume picker snapshot test call in the same file to match)
Notes
Using UpdatedAt relies on file mtime sorting; this may be a bit heavier than CreatedAt, but it aligns with the UI label.
Local validation
cargo build -p codex-clicargo test -p codex-tui
Also, a side note: it would be nice if you could make the repository more friendly for submitting an issue via the codex because I wasn't able to neatly fit this into a bug report and I don't really want to copy and paste all the text in.
<img width="184" height="443" alt="Image" src="https://github.com/user-attachments/assets/936b6966-4e7a-4e5e-8fd2-dfd87d1dc9ac" />
<img width="166" height="445" alt="Image" src="https://github.com/user-attachments/assets/2035c5ca-56ba-4d91-9d9c-c4abbb13b26c" />
6 Comments
Also to note, happy to open a PR for this. It was a very simple change but I read your guidelines. So we're starting here.
Which version of the Codex CLI are you using? I'm not able to repro this with the latest version. I think it may have been fixed recently. Please update to the latest and confirm whether you're still seeing it.
codex-cli 0.93.0
I don't have any current prompt for autoupdate but I just ran it manually to update to 0.94.0 now but still seeing it:
<img width="181" height="310" alt="Image" src="https://github.com/user-attachments/assets/a47fd2eb-7e86-4bae-a6d8-64ddd0cc9a45" />
<img width="368" height="82" alt="Image" src="https://github.com/user-attachments/assets/438af2aa-bd31-4dd5-9f53-0f080aa0be09" />
I pulled rust-v0.94.0 and confirmed the resume picker still sorts by CreatedAt, which mismatches the “Updated” column in the UI.
Evidence (0.94.0 tag):
The picker page loader calls RolloutRecorder::list_threads(..., ThreadSortKey::CreatedAt, ...)
The resume picker snapshot test also uses ThreadSortKey::CreatedAt
Suggested fix (what I tested yesterday too):
ThreadSortKey::CreatedAt -> ThreadSortKey::UpdatedAt
(also update the snapshot test in the same file)
<img width="194" height="115" alt="Image" src="https://github.com/user-attachments/assets/b86e2207-3d24-4119-941e-91228a05d5b5" /> version (v0.97.0) still seeing it. can i open a PR?
We're working on it.
This will be fixed in the next release.