[BUG] RTL text (Persian/Arabic/Hebrew) renders reversed/broken in Claude Code VS Code/Cursor webview

Resolved 💬 4 comments Opened Feb 28, 2026 by maziyarvex Closed Mar 30, 2026

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_

View original on GitHub ↗

This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗