Codex App sends Z:\AREA_01 to the model as Z:\AREA\_01 while UI displays it correctly
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 125k
- Forks
- 19.4k
- PR merge metrics
- PR metrics pending
Description
What version of the Codex App are you using?
26.825.4187.0
What subscription do you have?
Not relevant to this client-side text serialization issue.
What platform is your computer?
Microsoft Windows NT 10.0.26200.0 x64
What issue are you seeing?
The Codex desktop app displays a Windows path correctly in the sent user-message bubble, but the text delivered to the model contains an extra backslash before the underscore.
The user sent and the UI displayed:
Z:\AREA_01
The model-visible user message was instead:
Z:\AREA\_01
This is not only a visual Markdown-rendering issue. The message content reaching the model was changed. As a result, the agent initially ran a read-only existence check against the nonexistent path Z:\AREA\_01 and reported it missing. A later directory scan found the actual existing path Z:\AREA_01.
The inserted Markdown escape character becomes a real path separator in a Windows path. This can misdirect file operations; in this case, fail-safe existence checks prevented any deletion or installation at the wrong location.
What steps can reproduce the bug?
- Open a Codex desktop task on Windows.
- Type a normal sentence containing the unformatted path
Z:\AREA_01(the reproduced prompt also contained Chinese text around the path). - Send the message.
- Observe that the sent-message bubble still displays
Z:\AREA_01. - Ask the model to repeat the exact path it received, or inspect the model-visible conversation input.
- Observe that the model received
Z:\AREA\_01. - A filesystem existence check confirms that
Z:\AREA_01exists whileZ:\AREA\_01does not.
What is the expected behavior?
User message text must be delivered to the model byte-for-byte for path-like content. The model should receive Z:\AREA_01, exactly as displayed in the sent-message bubble.
Additional information
This appears related to #32638, but the behavior is materially different. #32638 described underscores being interpreted as emphasis in the composer. Here the UI displays the path correctly after sending, while the serialized model input silently gains a backslash.
Likely boundary: rich-text/Markdown serialization adds an escape before _, and that escape is not removed before constructing the model input.
Current workarounds: wrap paths in inline code or use forward slashes such as Z:/AREA_01.
A screenshot is available showing the sent user-message bubble with the correct path and the assistant's model-side view with the extra backslash.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the Windows path case and tracing the rich-text/Markdown serialization boundary into model input construction. Compare the text displayed in the sent-message bubble with the exact text delivered to the model; done means an unformatted path such as Z:\AREA_01 arrives unchanged, while existing inline-code and forward-slash workarounds remain unaffected.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- desktop-dev
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 68/100