[BUG] RTL text (Persian/Arabic/Hebrew) renders reversed/broken in Claude Code VS Code/Cursor webview
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?
RTL (right-to-left) languages like Persian, Arabic, and Hebrew display incorrectly in the Claude Code extension webview panel. All text renders left-to-right, making Persian/Arabic output completely unreadable — characters appear in reversed order.
Steps to reproduce:
Open Claude Code in VS Code or Cursor
Ask Claude a question in Persian (or any RTL language)
Observe that the response text is reversed and unreadable
Expected behavior:
RTL text should render right-to-left, while English/code blocks remain left-to-right (mixed BiDi support).
Actual behavior:
All text renders left-to-right. Persian/Arabic characters appear in reversed order and are completely unreadable.
Root cause:
The webview CSS (webview/index.css) does not set unicode-bidi: plaintext on message elements (.message_07S1Yg, .userMessage_07S1Yg, etc.). The browser defaults to LTR rendering for all content.
Suggested fix:
Add unicode-bidi: plaintext to message content elements. This lets the browser's BiDi algorithm automatically detect text direction per paragraph, so RTL text flows correctly while English and code blocks stay LTR.
Environment:
Claude Code extension v2.1.63 (darwin-arm64)
Cursor IDE
macOS
What Should Happen?
When Claude responds with RTL text (Persian, Arabic, Hebrew), each paragraph should automatically detect its text direction using the Unicode BiDi algorithm. Persian/Arabic paragraphs should flow right-to-left, English paragraphs and code blocks should remain left-to-right. Mixed-language content should render naturally, just like it does in a standard browser or any modern chat application. The user should be able to read both RTL and LTR content without any text appearing reversed or garbled.
Error Messages/Logs
Steps to Reproduce
Install Claude Code extension (v2.1.63) in VS Code or Cursor
Open the Claude Code panel
Type any Persian/Arabic message, e.g.: سلام، حالت چطوره؟
Press Enter and wait for Claude's response
Claude responds in Persian — the response text appears reversed and unreadable (characters are in wrong order, left-to-right instead of right-to-left)
The user's own Persian input also appears reversed in the chat history
Claude Model
Opus
Is this a regression?
Yes, this worked in a previous version
Last Working Version
_No response_
Claude Code Version
2.1.63
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Cursor
Additional Information
_No response_
This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗