[BUG] RTL (Right-to-Left) text rendering broken in claude.ai chat interface — Hebrew/Arabic text left-aligned, punctuation displaced
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
Note: This bug affects the claude.ai web chat interface, not Claude Code CLI. Filing here as there is no public issue tracker for claude.ai.
Bug Description
The claude.ai chat interface does not properly support RTL (Right-to-Left) languages such as Hebrew and Arabic. All text — both user messages and Claude's responses — renders with LTR (Left-to-Right) direction, making it extremely difficult to read for RTL-language users.
Issues Observed
- Text alignment: Hebrew/Arabic text is left-aligned instead of right-aligned
- Punctuation displacement: Periods, commas, question marks, and other punctuation appear on the wrong side of sentences
- BiDi text breaks: When mixing Hebrew and English (or other LTR content like code, URLs, numbers) in the same message, the Unicode BiDi algorithm is not handled correctly — word order and punctuation appear jumbled
Impact
This is a significant accessibility and usability issue that affects ALL users who communicate in RTL languages (Hebrew, Arabic, Persian, Urdu, etc.) — potentially millions of users worldwide.
What Should Happen?
The chat interface should detect RTL content and apply dir="rtl" (or dir="auto") to message containers. Specifically:
- Hebrew/Arabic text should be right-aligned
- Punctuation should render correctly per the Unicode Bidirectional Algorithm (UBA)
- Mixed LTR/RTL content should be handled using proper BiDi isolation (e.g.,
<bdi>tags or Unicode isolates U+2066/U+2069)
Suggested minimal fix: Apply dir="auto" to all user and assistant message containers. This lets the browser's native BiDi engine determine text direction based on the first strong character in each block. This is a low-risk, high-impact change.
Error Messages/Logs
N/A — This is a UI rendering issue, not a runtime error. No error messages in console.
Steps to Reproduce
- Go to claude.ai and start a new chat
- Type any message in Hebrew (e.g., "שלום, מה שלומך?")
- Observe that the text is left-aligned instead of right-aligned
- Claude's response in Hebrew is also left-aligned
- Try mixing Hebrew and English in the same message (e.g., "תסביר לי מה זה API")
- Observe that punctuation and word order are broken in the mixed-language text
Claude Model
None
Is this a regression?
Yes, this worked in a previous version
Last Working Version
_No response_
Claude Code Version
N/A — this affects claude.ai web interface, not Claude Code CLI
Platform
Anthropic API
Operating System
Windows
Terminal/Shell
Windows Terminal
Additional Information
Note: Filing this under claude-code as there is no public issue tracker for the claude.ai web interface.
Affected platform: claude.ai web chat (browser)
Affected languages: Hebrew, Arabic, Persian, Urdu, and all other RTL languages
Suggested fix (minimal, low-risk):
Apply dir="auto" to all user and assistant message <div> containers. This is a single CSS/HTML attribute change that lets the browser's native BiDi engine handle text direction automatically.
<!-- Current (broken) -->
<div class="message">שלום, מה שלומך?</div>
<!-- Fixed -->
<div class="message" dir="auto">שלום, מה שלומך?</div>
For more granular control, consider per-paragraph direction detection or using BiDi isolation characters (U+2066/U+2069).
This issue has existed since launch and affects every RTL-language conversation on the platform.
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗