openai / openai/codex

[Desktop → Web] Selected-text reference renders as a raw fallback payload and exposes a literal HTML entity

Open
#42,719 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug codex-web session
Dominant language
Rust
Stars
125k
Forks
19.4k
PR merge metrics
PR metrics pending

Description

What issue are you seeing?

A selected-text follow-up created in the macOS desktop app is preserved when the same conversation is opened on chatgpt.com, but the Web client renders it as an apparent raw fallback payload.

The synchronized user message visibly contains internal-looking headings such as:

  • # Selected text:
  • ## Selection 1
  • ## My request:

It also displays the HTML entity   literally instead of rendering it as a space.

The conversation content is synchronized, but the selected-text reference does not round-trip as either a structured reference or a clean plain-text fallback.

What steps can reproduce the bug?
  1. Open a regular Chat conversation in the macOS desktop app.
  2. Select text from an existing assistant response.
  3. Use the selected-text follow-up action.
  4. Send a prompt that refers to the selected text.
  5. Open the same synchronized conversation on chatgpt.com.
  6. Inspect the selected-text user message.

Observed result:

  • The selected text and request are present.
  • The Web client displays # Selected text, ## Selection 1, and ## My request as visible payload text.
  • A literal   is displayed instead of a space.
  • The desktop selected-text presentation and interaction are not preserved.
What is the expected behavior?

The Web client should render a synchronized selected-text reference using an equivalent structured quote/reference component.

If that component is unavailable, it should render a clean, human-readable fallback that:

  • does not expose serialization-style headings;
  • decodes HTML entities correctly;
  • keeps the quoted source text visually distinct from the user's request.
Additional information
  • Desktop app: 26.901.20858 (build 7658)
  • Desktop OS: Darwin 27.0.0 arm64
  • Web browser: Google Chrome 152.0.7977.77
  • Date observed: 2026-09-04 KST
  • Validation: after filing, I rechecked both the persisted synchronized conversation and its Web screenshot. The screenshot visibly contains all three raw fallback headings and the literal   entity described above.

Potentially related but not duplicate: #40136 reports a literal   in VS Code input-history recall. This report concerns Desktop-to-Web synchronization of a selected-text reference and a different reproduction path.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the macOS desktop selected-text follow-up, then open the synchronized conversation on chatgpt.com and inspect the rendered user message. Done means the Web client shows an equivalent structured quote/reference, or a clean fallback without serialization headings, with the entity decoded and source text distinct from the request.

Written by the indexing model from the issue text.

Assessment

Tech stack
html
Domain
frontend, web-dev
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.