VSCode extension chat UI does not implement Unicode BiDi Algorithm (RTL text renders LTR)
Description
The Claude Code VSCode extension's chat UI does not obey the Unicode Bidirectional (BiDi) Algorithm. When Hebrew (or other RTL script) characters appear in the middle of Latin-alphabet text, they are displayed in LTR order — the same direction as the surrounding Latin characters — rather than being visually reordered RTL as the Unicode BiDi Algorithm requires.
For example, typing abc אבג def shows the Hebrew letters in LTR order instead of reversing them to RTL.
Expected behavior
Most modern software implements the Unicode BiDi Algorithm, which automatically handles the great majority of RTL/LTR mixing cases without requiring explicit control characters or other directional markup. Since the extension's chat panel is a rich-text webview (it renders Markdown, uses a proportional font, etc.), the underlying Chromium engine should provide BiDi support natively. The Hebrew characters should render right-to-left within the surrounding left-to-right context.
Actual behavior
All text renders strictly left-to-right regardless of script direction. RTL characters (e.g. Hebrew) appear in logical/memory order rather than visual order.
Possible cause
A CSS rule on the chat container may be suppressing the browser's native BiDi behavior — e.g. unicode-bidi: plaintext, direction: ltr forced on the element, or similar. The fix might be as simple as removing or adjusting that rule.
Environment
- VSCode on Windows 11
- Claude Code VSCode extension
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗