RTL text (Arabic/Persian/Kurdish) rendered reversed across Claude Code — web, VS Code extension, Windows app, and mobile
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?
Right-to-left (RTL) text — this affects Arabic, Persian (Farsi), and Kurdish (Sorani) alike — is rendered incorrectly across Claude Code. This is not limited to a single platform: the same bug occurs in the web app, the VS Code extension, the Windows desktop app, and mobile. When RTL text is mixed with English words or Latin characters/numbers within the same sentence, the word/character order gets scrambled and reversed, making the output unreadable.
This is a duplicate of #29575, which was closed/marked as duplicate, but the underlying bug is still unresolved and continues to affect users across every surface Claude Code ships on.
Steps to Reproduce
Open Claude Code on any platform (web, VS Code extension, Windows app, or mobile).
Start a chat session using an RTL language (Arabic, Persian, or Kurdish Sorani).
Type or receive a response that mixes RTL text with English words in the same line.
Observe that the sentence order is reversed/scrambled around the English word, rather than following correct Unicode Bidirectional Algorithm (UBA) rules.
Expected Behavior
RTL text should render correctly per the Unicode Bidi Algorithm, including proper handling of mixed RTL/LTR content within a single line, consistently across every platform Claude Code runs on — the same way modern browsers and other AI coding assistants already handle it correctly.
Why This Matters
This isn't a minor cosmetic bug. Arabic, Persian, and Kurdish combined are the native languages of several hundred million people worldwide. For many of these users, proper bidi rendering is the difference between being able to use Claude Code comfortably in their own language and not being able to use it at all. Right now, this bug effectively locks a huge population of developers out of a smooth native-language experience, on every platform Claude Code offers.
Reference: This Is a Solved Problem
Google Gemini has already solved bidi/RTL rendering successfully in its own chat and coding tools — mixed RTL/LTR text displays correctly with proper word order. This shows the problem is solvable with the correct implementation of the Unicode Bidi Algorithm in text rendering.
We'd really appreciate it if the Claude Code team could prioritize a proper, platform-wide fix for this, similar to what Gemini has achieved. It would make a real difference for hundreds of millions of people who want to use Claude Code fluently in their native language.
Environment
Platforms affected: Web app, VS Code extension, Windows desktop app, Mobile
Claude Code version: latest
Affected languages: Arabic, Persian (Farsi), Kurdish (Sorani), likely all RTL scripts
What Should Happen?
RTL text should render correctly per the Unicode Bidirectional Algorithm (UBA), including proper handling of mixed RTL/LTR content within a single line, consistently across every platform Claude Code runs on (web, VS Code extension, Windows app, mobile) — the same way modern browsers and other AI coding assistants already handle it correctly.
Error Messages/Logs
N/A — this is not a crash or thrown error. It's a text rendering/display issue: no error message appears, the RTL text simply displays with words/characters in the wrong (reversed) order when mixed with Latin characters.
Steps to Reproduce
- Open Claude Code on any platform (web, VS Code extension, Windows app, or mobile).
- Start a chat session and type or receive a response in an RTL language (Arabic, Persian, or Kurdish Sorani) that includes an English word or Latin characters/numbers in the same sentence.
Example:
کوردی سۆرانی dictionary وشەیەکە
- Observe the rendered output.
Expected: The RTL sentence should read in the correct right-to-left order, with the English word placed correctly according to the Unicode Bidirectional Algorithm.
Actual: The order of words/characters around the English word gets reversed/scrambled, making the sentence unreadable.
Note: The bug is not limited to one platform — it reproduces the same way in the web app, VS Code extension, Windows desktop app, and mobile.
Claude Model
None
Is this a regression?
No, this never worked
Last Working Version
_No response_
Claude Code Version
2.1.207
Platform
Anthropic API
Operating System
Windows
Terminal/Shell
Terminal.app (macOS)
Additional Information
_No response_