[Windows][26.818.2441.0] Legacy local tasks still fail to archive while new tasks archive successfully
What version of the Codex App are you using (From “About Codex” dialog)?
Codex Desktop MSIX: 26.818.2441.0 (x64)
Additional runtime evidence:
- App-server reported version:
0.148.0-alpha.21 - Desktop runtime release recorded in the log:
26.818.21641
What subscription do you have?
ChatGPT subscription (tier omitted because it does not appear relevant to this local archive failure).
What platform is your computer?
Windows 25H2 x64, build 26200.9168.
What issue are you seeing?
The latest Windows desktop update does not fix archive failures for existing local Codex tasks, while a newly created local task archives successfully in the same app session.
I performed a controlled A/B test after updating:
| Task type | Result |
| --- | --- |
| Three pre-existing local tasks | All failed to archive |
| One newly created minimal local task | Archived successfully |
For each existing task, the normal archive UI path reached thread/archive and returned in approximately 92–98 ms:
errorCode=-32603
failed to archive session: thread-store internal error:
failed to archive thread: The system cannot find the file specified. (os error 2)
For the three failing tasks, read-only inspection found all of the following:
threads.archived = 0andarchived_at = NULLafter the failure.- The rollout JSONL referenced by each
threads.rollout_pathexists and is non-empty. - Each stored
rollout_pathbegins with the Windows verbatim prefix\\?\C:\.... - The rollout remains under active sessions; no archived copy is created.
For the newly created test task:
- The same archive backend operation succeeded.
- The database row became archived and received an archive timestamp.
- The rollout moved to
archived_sessions. - Its stored rollout path did not use the
\\?\prefix.
This rules out a general inability to archive, an unwritable archive directory, or a UI-only click-handler failure. The differentiator is the legacy task state/path form.
What steps can reproduce the bug?
- On Windows Codex Desktop
26.818.2441.0, select an existing completed local task whosethreads.rollout_pathuses the\\?\C:\...form. - Use the normal Archive action.
- Observe the “unable to archive” result and the
thread-store ... (os error 2)response. - In the same app session, create a new minimal local task and let it complete.
- Archive the new task.
- Observe that the new task archives successfully.
What is the expected behavior?
Existing local tasks should archive exactly as new local tasks do, regardless of whether their persisted rollout path uses a normal drive path or the Windows extended-length path form.
Additional information
This is related to, but intentionally submitted separately from, #39239 because it demonstrates that the regression still reproduces on the newer package 26.818.2441.0 and includes a same-session legacy-versus-new task control.
The \\?\ path form is a strong candidate trigger, but I am not claiming it explains every archive failure. Other reports have described similar symptoms without that prefix.
No local database edits, session-file moves, cache deletion, application reset, downgrade, or repair operation was performed. No thread IDs, local paths, task titles, account identifiers, conversation contents, or raw logs are included here.
10 Comments
Potential duplicates detected. Please review them and close your issue if it is a duplicate.
Powered by Codex Action
I tested that starting from vscode plugin 26.814.41407, it is no longer possible to archive, and then downgraded to 26.810.52044 to archive, even if the symbol "\\?\" exists
The newly created ones that can be archived mainly do not have the symbol "\\? \". If you restart them, Codex will automatically add this symbol, and then you will find that even the newly named ones that can be archived cannot be archived
You can try lowering the version first.
Current-build follow-up: two confirmed archive failure modes and supported recovery evidence
I reproduced this on a separate Windows installation with the same current build:
26.818.2441.0x640.148.0-alpha.2119045, x64A read-only state/filesystem audit found:
1,096thread rows and282physical rollout files.rollout_pathin the\\?\C:\...form.thread/archive -32603/os error 2.I also confirmed a second failure mode in a different thread:
sessionstoarchived_sessions.archived=0and the old active rollout path.os error 2.That is evidence that the filesystem move and DB update can be left partially committed, independently of the
\\?path-normalization case.Supported recovery experiment
After taking an online SQLite backup and recording file length, timestamp, and SHA-256:
codex-cli 0.144.1) successfully rancodex archive <thread-id>on the repeatedly failing prefixed-path thread.archived=1,archived_atwas populated, and the stored path was normalized underarchived_sessions.archivefollowed byunarchivenormalized their paths while leaving them active. All three retained exact length and SHA-256.PRAGMA integrity_checkreturnedok; remaining extended-length rollout paths: 0.No manual SQLite update, fake JSONL, cache reset, raw file move, or session deletion was used.
Suggested invariants/fixes:
No thread IDs, task titles, usernames, private paths, conversation content, or raw logs are included here.
Additional reproduction on Windows Codex Desktop on 2026-08-20:
thread/archivefailed for a completed/not-loaded local task withthread-store internal error ... The system cannot find the file specified. (os error 2).PRAGMA integrity_check.threads.rollout_pathused the Windows verbatim form\\?\C:\....\\?\from that one inactive thread'srollout_path, the exact same official archive operation succeeded immediately; the task then appeared in the archived-task listing.No thread IDs, task titles, conversation contents, account identifiers, or private local paths are included.
Follow-up: Desktop rewrites the normalized legacy path back to
\\?\C:\...I reproduced the failure again on Codex Desktop
26.818.2441.0/ app-server0.148.0-alpha.21and found why the earlier supported CLI round trip was not durable.New evidence
archive -> unarchiveround trip had normalized bothcwdandrollout_pathin SQLite, and the rollout file hash/length were unchanged.cwd = \\?\C:\...rollout_path = \\?\C:\...\.codex\sessions\...jsonlthread/archiverequests. Both failed with RPC-32603and Windowsos error 2.archive <thread-id>again, and this time leaving the task archived, succeeded.Post-repair verification
archived = 1,archived_atpopulated, androllout_pathis the canonical non-\\?\path under.codex\archived_sessions.PRAGMA integrity_checkreturnsok.Implication
The long-lived Desktop process appears to retain a stale in-memory/cache copy of the legacy
\\?\paths and writes it back when the task is resumed. Therefore a DB-only normalization, or anarchive -> unarchiverepair while the same Desktop process remains alive, can be undone.Suggested fix / regression coverage
\\?\cwdandrollout_path, open/resume it, archive it from the Desktop UI, and verify the canonical path, DB state, and file move remain consistent.This explains why the problem affects multiple tasks rather than one conversation.
Additional reproduction: three independent tasks fail together, and the Desktop toast misattributes the error to
config.tomlI reproduced the same archive regression again on the same Windows Codex Desktop installation, this time against three separate completed/not-loaded local tasks from different dates and workspaces.
Reproduction
failed to archive sessionthread-store internal errorThe system cannot find the file specified. (os error 2)cwdandrollout_pathstored in the Windows verbatim\\?\C:\...form.PRAGMA integrity_checkreturnedokbefore recovery.config.tomlparsed successfully as TOML.The Desktop UI nevertheless displayed the archive failure inside a red toast headed "Model settings could not be updated. Check your config.toml", with
thread not found: <id>as the detail. The heading is misleading: the operation being performed was task archiving, the configuration file was valid, and the thread rows/files existed.Supported recovery and verification
Running the installed supported CLI
codex archive <thread-id>sequentially for the same three IDs succeeded for all three with exit code 0.For every task after recovery:
archived = 1and a populatedarchived_at.rollout_pathwas canonicalized under.codex\archived_sessionswithout the verbatim prefix.PRAGMA integrity_checkreturnedok.Additional implications / requested coverage
config.tomlfailure.No task titles, thread IDs, usernames, private paths, conversation content, or raw logs are included.
Affected account identifier (shared with the user's explicit permission)
For account-level follow-up on this regression:
d61199e8-75fe-4136-bdc6-a0fc146118f9No email address, access/refresh token, API key, cookie, private path, or conversation content is included. If a goodwill credit or account-specific follow-up is available for the repeated archive failures, please associate it with this account or contact the user privately through GitHub.
For a local Windows task whose Desktop Archive action returns
os error 2, a supported recovery path reported on the current build is:codex archive <thread-id>for the affected task.This avoids editing
state_5.sqlite, moving rollout files manually, or deleting local data. Limitation: it applies to local tasks when the installed CLI exposes the archive command; it does not repair cloud conversations or the underlying Desktop path-normalization bug.Resolved in current Windows build
After updating to Codex Desktop
26.818.3698.0on Windows, I re-tested the archive behavior:thread not found/os error 2archive failure.The issue appears fixed in this build. Thank you.
Thanks for the current-build confirmation. Desktop 26.818.3698.0 appears to have fixed the legacy local-task archive failure.
If the update is available:
The CLI
codex archivemethod I shared earlier was only a temporary recovery path for affected builds; it is not needed when the current Desktop build archives the task successfully. Users still on an affected build should avoid editing the database or moving rollout files manually.