VS Code webview CSS breaks RTL languages (Hebrew, Arabic) with unicode-bidi: bidi-override
Description
The VS Code extension's webview index.css contains a global CSS rule on line 1:
* { direction: ltr; unicode-bidi: bidi-override; }
The unicode-bidi: bidi-override property forces all text to render left-to-right, which completely breaks RTL languages like Hebrew and Arabic. Individual characters within words are reversed, making the text unreadable.
Expected behavior
RTL text should render naturally using the browser's built-in Unicode Bidirectional Algorithm (BIDI). The Claude Desktop app handles this correctly — Hebrew and Arabic text display properly there.
Reproduction steps
- Install the Claude Code VS Code extension
- Write a message in Hebrew (or any RTL language) in the chat input
- Observe that the letters within each word are reversed and unreadable
Suggested fix
Change bidi-override to normal (or remove it entirely):
* { direction: ltr; unicode-bidi: normal; }
This allows the browser's native BIDI algorithm to handle RTL text correctly while keeping the overall layout LTR. Mixed Hebrew/English content works perfectly with this change.
Workaround
Manually editing ~/.vscode/extensions/anthropic.claude-code-{version}/webview/index.css and replacing bidi-override with normal. This fix resets on every extension update.
Environment
- VS Code extension version: 2.1.63
- OS: macOS (Apple Silicon)
- Language affected: Hebrew
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗