[Windows app] Hebrew RTL/BiDi replies are left-aligned and mixed LTR text becomes unreadable

Open 💬 1 comment Opened Jul 10, 2026 by alonjacobitoluna

What version of the Codex App are you using?

ChatGPT/Codex Windows Store app 26.707.3563.0 (x64)

What platform is your computer?

Windows x64

What issue are you seeing?

Hebrew assistant responses in the Windows desktop app are always left-aligned. When a response mixes Hebrew with English terms, inline code, file paths, commands, URLs, numbers, or punctuation, the visual order becomes confusing and the response is difficult to read.

This is a renderer issue rather than a prompting issue. Custom instructions can change the response text, but they cannot change the message container's CSS direction or alignment.

Steps to reproduce

  1. Open the ChatGPT/Codex desktop app on Windows.
  2. Start a conversation in Hebrew.
  3. Ask for a response that contains English technical terms or inline code, for example:

``text
תבדוק למה
npm test נכשל בקובץ src/app/page.tsx ותציע תיקון.
``

  1. Observe the assistant response.
  2. Try a longer response containing a Markdown list, commands, file paths, URLs, and English identifiers.

Actual behavior

  • Hebrew prose is left-aligned.
  • Mixed Hebrew and LTR technical fragments disturb the surrounding sentence order.
  • Inline code, paths, URLs, punctuation, and numbers can appear in visually confusing positions.
  • Wrapping the response in raw HTML such as <div dir="rtl" align="right"> does not change alignment.
  • Prefixing paragraphs with U+200F RIGHT-TO-LEFT MARK improves neither the block alignment nor the overall layout.

Expected behavior

  • Hebrew paragraphs should be detected as RTL and align to the right.
  • Each prose block should determine its own direction so mixed-language responses remain readable.
  • Inline code, paths, URLs, commands, identifiers, logs, diffs, and code blocks should remain isolated LTR.
  • The composer, user message, and assistant message should render consistently.

Investigation on the packaged Windows build

Inspection of the packaged renderer in 26.707.3563.0 found:

  • The assistant message wrapper is rendered without a dir attribute.
  • The Markdown renderer's basic-HTML attribute allowlist does not permit dir, align, style, or class, so model-emitted HTML cannot correct the layout.
  • The app bundle already contains utilities for direction: rtl, direction: ltr, and unicode-bidi: plaintext, but the assistant message rendering path does not apply them to Hebrew prose blocks.

Suggested fix

Apply directionality in the trusted renderer rather than relaxing the raw-HTML sanitizer:

  • Add dir="auto" to rendered paragraphs, headings, list items, and blockquotes, or to an equivalent per-block wrapper.
  • Use text-align: start for prose blocks.
  • Keep pre, code blocks, terminal output, diffs, file paths, URLs, and technical fragments explicitly LTR.
  • Apply unicode-bidi: isolate or <bdi> semantics to inline LTR fragments.
  • Add regression fixtures for Hebrew mixed with English, code, paths, URLs, numbers, Markdown lists, and tables.

Related issues

  • #31903 — Hebrew RTL/BiDi rendering on macOS
  • #30129 — Improve RTL language support in Codex conversations
  • #19504 — Full RTL support for Arabic and Hebrew
  • #26250 — Mixed Arabic and English rendering
  • #14578 — Incorrect RTL text rendering and alignment

This report is Windows-specific and includes findings from the packaged Windows renderer.

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗