[FEATURE] RTL Support for Right-to-Left Languages (e.g., Persian, Arabic)
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 Extension inside Cursor currently renders all text content using a left-to-right (LTR) layout. This causes several usability problems for users who write or read right-to-left (RTL) languages such as Persian (Farsi) or Arabic:
- RTL text appears misaligned and difficult to read.
- Mixed content (RTL + English code snippets or technical terms) becomes visually messy and confusing.
- Punctuation and sentence flow display incorrectly, making the text feel reversed or broken.
- When the assistant generates Persian or Arabic content, the user must manually reformat the text in external editors.
- This creates additional cognitive load, reduces productivity, and makes the extension feel incomplete for RTL users.
As Cursor is increasingly used globally — including by thousands of developers in Iran, UAE, MENA, and other RTL-speaking regions — lack of native RTL support is a significant accessibility and UX gap.
Proposed Solution
Add proper RTL rendering support within the Claude Extension UI inside the Cursor.
Key Requirements
1. Automatic RTL detection
- Detect RTL languages using Unicode ranges (e.g., Persian/Arabic script) and automatically switch the text direction to direction: rtl; unicode-bidi: plaintext;.
2. Manual toggle in settings
- Provide a toggle (e.g., “Enable RTL Rendering”) for users who want explicit control.
3. Per-message layout
- Each AI or user message should independently determine its direction (similar to how WhatsApp/Telegram handle mixed languages).
4. Proper alignment & spacing
- Adjust alignment for bullet points, lists, markdown headers, numbered lists, and paragraphs.
- Ensure correct paragraph flow when mixing code blocks (LTR) and text (RTL).
5. Preserve code blocks as LTR
- RTL text should not affect code blocks.
- Code blocks and inline code should remain left-aligned and LTR.
6. Markdown rendering fixes
- RTL-compatible rendering for:
- Lists (-, 1.)
- Tables
- Blockquotes (>)
- Headings (#)
- Prevent mirroring or visual corruption.
Optional / Nice to Have
- Font support optimized for Persian/Arabic script (e.g., “Vazirmatn” or “IBM Plex Sans Arabic”).
- Keyboard shortcuts to switch RTL ↔ LTR.
- Bidirectional algorithm improvements for mixed-language sentences.
Benefits
- Allows millions of potential RTL users to comfortably use Claude in Cursor.
- Significantly improves UX, readability, and accessibility.
- Reduces friction for bilingual developers mixing Farsi/Arabic with English code.
- Increases adoption in Middle East markets.
- Aligns Cursor with modern editors and apps that support RTL (VSCode, WebStorm, Notion, Telegram, Chrome, etc.).
Acceptance Criteria
- Messages written or generated in RTL languages should display correctly.
- Mixed content (RTL + LTR) should render cleanly.
- Code blocks remain LTR and unaffected.
- Setting toggle for RTL exists.
- No visual regression for LTR users.
Alternative Solutions
_No response_
Priority
High - Significant impact on productivity
Feature Category
Other
Use Case Example
_No response_
Additional Context
_No response_
This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗