Archiving fails on Windows when rollout_path contains the \\?\ prefix

Open 💬 1 comment Opened Aug 20, 2026 by SHIL0018
💡 Likely answer: A maintainer (github-actions[bot], contributor) responded on this thread — see the highlighted reply below.

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

  1. On Windows, use a thread whose stored rollout_path starts with \\?\.
  2. Confirm that the referenced rollout file exists.
  3. Try to archive the thread.
  4. 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.

View original on GitHub ↗

1 Comment

github-actions[bot] contributor · 8 days ago

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

  • #39669
  • #39675
  • #39660
  • #39600
  • #39378

Powered by Codex Action