[Remote][macOS] Switching chats repeatedly escapes underscores in unsent composer drafts
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 (From “About Codex” dialog)?
26.818.21641 (build 6849)
What subscription do you have?
Unknown; the current plan is not shown in the Codex app UI used for this report.
What platform is your computer?
macOS 26.6.1 (25G76), Darwin 25.6.0 arm64 arm
What issue are you seeing?
In Codex Remote, an unsent composer draft is modified when switching to another chat and then returning. Markdown escape characters accumulate before underscores, and a space can be restored as the literal HTML entity  .
Minimal original text:
sara_storage_config
After switching away from the chat and returning, the composer adds backslashes before the underscores. Repeating the chat switch adds more backslashes, so the draft becomes progressively more corrupted. In the observed case, a space at the end of the draft was also shown as the literal text  .
The corruption happens before the prompt is sent. It appears to occur while persisting or restoring the composer draft, and it is visible directly in the input field.
What steps can reproduce the bug?
- Open a Codex task through Remote.
- Type
sara_storage_configinto the composer without sending it. - Switch to a different chat.
- Return to the original chat.
- Observe that backslashes have been inserted before the underscores.
- Repeat steps 3 and 4.
- Observe that additional backslashes accumulate on each restore. A trailing space may also appear as the literal text
 .
What is the expected behavior?
Switching between chats should preserve an unsent draft byte-for-byte. Restoring the draft repeatedly should be idempotent: sara_storage_config should remain exactly sara_storage_config, with no added backslashes or HTML entities.
Additional information
- Surface: Codex Remote composer in the ChatGPT/Codex desktop app.
- Bundle identifier:
com.openai.codex. - Local CLI version available on the host:
codex-cli 0.147.0. - The visual pattern is consistent with an already escaped Markdown/HTML draft being escaped again during each persistence/restore round trip. This is a hypothesis based on the observed output.
- Public issue searches for combinations of
composer draft,backslash,escaped underscore,switch chat, and did not find an exact existing report as of 2026-08-21.
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 issue in the Codex Remote composer using the documented chat-switching steps, then trace the composer draft persistence and restore path in the desktop app. Done means switching chats repeatedly preserves the unsent draft byte-for-byte, without added backslashes or literal HTML entities.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- macos
- Domain
- desktop
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 58/100