[Windows app] Hebrew RTL/BiDi replies are left-aligned and mixed LTR text becomes unreadable
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
- Open the ChatGPT/Codex desktop app on Windows.
- Start a conversation in Hebrew.
- Ask for a response that contains English technical terms or inline code, for example:
``textnpm test
תבדוק למה נכשל בקובץ src/app/page.tsx ותציע תיקון.``
- Observe the assistant response.
- 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
dirattribute. - The Markdown renderer's basic-HTML attribute allowlist does not permit
dir,align,style, orclass, so model-emitted HTML cannot correct the layout. - The app bundle already contains utilities for
direction: rtl,direction: ltr, andunicode-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: startfor prose blocks. - Keep
pre, code blocks, terminal output, diffs, file paths, URLs, and technical fragments explicitly LTR. - Apply
unicode-bidi: isolateor<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.
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗