Archiving fails on Windows when rollout_path contains the \\?\ prefix
Environment
- Codex App: 26.818.2441.0
- Windows NT 10.0.26200.0 (x64)
Description
Some existing threads can be opened normally, but archiving them fails with:
failed to archive thread: The system cannot find the file specified. (os error 2)
The referenced JSONL rollout file still exists and is readable.
I reproduced this with three different threads. In each case, the rollout_path stored in ~/.codex/state_5.sqlite started with the Windows extended-length path prefix:
\\?\C:\Users\<redacted>\.codex\sessions\...\rollout-<timestamp>-<thread-id>.jsonl
After backing up the database and removing only the \\?\ prefix from the affected row, the same archive operation succeeded immediately. The rollout file was moved to archived_sessions as expected.
No transcript content was changed.
Steps to reproduce
- On Windows, use a thread whose stored
rollout_pathstarts with\\?\. - Confirm that the referenced rollout file exists.
- Try to archive the thread.
- Archiving fails with
os error 2.
Expected behavior
The thread should be archived even when a legacy rollout_path contains the Windows extended-length path prefix.
This may be related to path normalization before std::fs::rename in codex-rs/thread-store/src/local/archive_thread.rs.
Possibly related to #28276, although that report is on macOS and appears to have a different cause.
1 Comment
Potential duplicates detected. Please review them and close your issue if it is a duplicate.
Powered by Codex Action