Codex desktop: historical conversations fail to open after rendering ::git-* directive lines with Windows backslash paths
#23021
aaaaa-ozo23
started this conversation in
General
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Codex desktop: historical conversations fail to open after rendering
::git-*directive lines with Windows backslash pathsSummary
Some existing Codex Desktop conversations in a project failed to open after a version update/check cycle. The conversation list was still visible, but opening affected conversations showed only:
Retrying and checking for updates did not recover the affected conversations.
Local investigation suggests this is not JSONL corruption and not an incomplete local app update. The affected historical session records contained assistant text with standalone internal-looking
::git-*{...}directive lines whosecwdattribute used normal Windows backslash paths, for exampleD:\.... The current Codex Desktop renderer/parser appears to try to parse those historical text lines as directives and then crashes the conversation page on invalid directive syntax.Environment
OpenAI.Codex_26.513.3673.0_x64__2p2nqsd0c76g026.513.3673.0C:\Program Files\WindowsApps\OpenAI.Codex_26.513.3673.0_x64__2p2nqsd0c76g0Get-AppxPackage:SignatureKind: StoreStatus: OkUser-visible symptom
糟糕,出错了检查更新,重试重试did not recover.检查更新did not recover.One affected conversation was named:
执行第二轮bug修复Local evidence from Codex logs
Codex Desktop logs under this path contained repeated page-render errors:
Relevant error text:
This points to parsing of the directive argument string, not to a missing session file or malformed JSONL.
Offending session content pattern
The affected session file was a normal JSONL file under:
The session JSONL itself parsed successfully. The problem was inside assistant text fields. The final assistant message contained standalone lines similar to:
After replacing those standalone directive lines with plain text, the conversation opened normally again.
Why this looks like a rendering/parser compatibility bug
ConvertFrom-Json.Current hypothesis:
::git-*directive-looking lines as assistant text.LocalConversationPagefails to render.Targeted repair script used for the first affected conversation
Before running the repair, Codex Desktop was fully closed. The script also refused to proceed if
Codexorcodexprocesses were still running.Script file:
What it did:
.bak-YYYYMMDD-HHMMSSbackup next to the session file.ConvertFrom-Json.Result:
执行第二轮bug修复opened normally after the repair.Batch scan and repair script
A second script was created to scan all local Codex session JSONL files for the same standalone directive pattern.
Script file:
Dry-run command:
Repair command:
Important safety behavior:
%USERPROFILE%\.codex\sessionsrecursively..bak-*.%USERPROFILE%\.codex\session_index.jsonlto map thread IDs to conversation names.-ScanOnlymode, it only reports matching sessions and does not modify anything.Initial scan after repairing the first conversation found additional historical project conversations containing the same pattern:
同步文档并推送 v1.0.3019e1526-1162-73c1-969b-b1c5fde21da3美化 LAN 界面019e1a2f-f398-75b1-a415-c59193f3484a执行第一轮 bug 修复019e220e-e36a-75c1-a216-c2ccd0dd2f02Later scan status on the current machine:
Note: the current diagnostic conversation itself contains literal examples of the problematic lines, so this may be a diagnostic false positive unless that conversation also fails to open later.
Codex installation integrity checks performed
The goal was to rule out a failed or partial update.
Appx package check
Command:
Observed:
Manifest check
Parsed
AppxManifest.xml:File hash spot checks
Authenticode checks
Observed:
The unsigned
app\Codex.exedid not by itself indicate a broken install, because the MSIX/Appx package signature was valid and the package status wasOk.Appx block map verification
Observed:
Runtime log package path
Codex logs showed runtime execution from:
Conclusion from integrity checks:
Expected behavior
Codex Desktop should not make an entire historical conversation impossible to open because a previous assistant message contains directive-looking text.
Safer behavior would be one of:
Actual behavior
Opening a conversation with these historical lines causes the whole local conversation page to fail:
The local log reports:
Minimal reproduction hypothesis
On Windows, create or load a local Codex conversation whose assistant text contains a standalone line like:
Then reopen that conversation in Codex Desktop version
26.513.3673.0.Expected result:
Observed result on this machine:
Workaround used locally
::git-*directive-looking lines with Windows backslash paths.This restored at least one previously broken conversation.
Request to maintainers
Please consider making the local conversation renderer tolerant of malformed or legacy directive-looking text in historical messages. In particular:
LocalConversationPagewhen directive parsing fails.I can provide additional redacted logs or session snippets if needed.
Beta Was this translation helpful? Give feedback.
All reactions