[FEATURE] Feature request: RTL / bidirectional text support in the chat panel (Hebrew, Arabic, etc.)

Resolved 💬 2 comments Opened Jun 25, 2026 by maorshriki2 Closed Jun 29, 2026

Preflight Checklist

  • [x] I have searched existing requests and this feature hasn't been requested yet
  • [x] This is a single feature request (not multiple features)

Problem Statement

The Claude Code VS Code chat panel has no right-to-left (RTL) / bidirectional text support. When I write or read Hebrew (and this applies equally to Arabic, Farsi, etc.), every message and every input line is forced to left alignment. In mixed Hebrew + English conversations this is hard to read and unnatural to write, since RTL content visually belongs on the right side. The individual characters render in the correct order (the browser's bidi algorithm handles that), but block alignment is always LTR, which is the core problem.

Proposed Solution

Add the HTML dir="auto" attribute to the text-bearing elements in the chat webview. dir="auto" makes each paragraph/line choose its base direction automatically from its first strong character — RTL content aligns right, LTR content aligns left, with no language setting required. Specifically:

Rendered message blocks (.rendered-markdown and its paragraphs, list items, headings, blockquotes, table cells).
The message input editor (.messageInput_cKsPxg) and its mirror/overlay layer, applied to both in sync.
Keep code blocks (pre/code) forced to LTR so code never flips.
This gives correct mixed-direction behavior with minimal, low-risk changes and no new settings.

Alternative Solutions

A global "RTL mode" toggle in settings that sets direction: rtl on the whole panel. Worse than dir="auto" because it flips English/LTR content and UI layout too, and forces a manual switch.
User-side CSS/JS injection (e.g. patching the extension's webview/index.css, or a "Custom CSS" extension). I actually tried this — it fails: CSS alone can't auto-align by content (only dir="auto" can), and modifying only the input's editable layer desyncs it from the transparent mirror layer and breaks typing. The webview is also a sandboxed iframe, so external JS can't reliably reach it. This confirms the fix must live inside the extension.
Do nothing — leave text left-aligned. Functional but a poor experience for RTL-language users.
Feature Category (What area does this feature relate to?)
UI / Accessibility / Internationalization (i18n) — specifically the VS Code extension's chat panel rendering and message input.

Priority

High - Significant impact on productivity

Feature Category

Developer tools/SDK

Use Case Example

A concrete scenario:

I'm an developer using the Claude Code VS Code extension on Windows. I work in Hebrew and English interchangeably.
I open the chat panel and type a question in Hebrew, e.g. asking Claude to explain a function, with an English function name embedded mid-sentence.
As I type, the Hebrew should sit right-aligned and the English functionName should stay LTR inside the line — instead the whole line is pinned left, so the sentence reads against its natural direction and editing/cursor placement feels wrong.
Claude replies with a paragraph of Hebrew explanation that includes English code identifiers and a fenced code block.
I expect the Hebrew paragraphs to align right, the inline English identifiers to read LTR within them, and the code block to stay LTR. Instead everything is left-aligned, making the explanation awkward to scan.
With dir="auto", steps 3 and 5 would "just work" for both languages without any configuration.

Additional Context

_No response_

View original on GitHub ↗

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