پشتیبانی از متن راستبهچپ (RTL) برای عربی و فارسی در Claude Code — برای VS Code، Cursor، Kiro و Antigravity.
🌐 Languages | اللغات | زبانها
| Language | Quick Links | |
|---|---|---|
| 🇺🇸 | English | View Extension Explanation ↓ |
| 🇸🇦 | عربية | لشرح الملحق بالعربية ↓ |
| 🇮🇷 | فارسی | برای توضیح افزونه به فارسی ↓ |
🎬 Demo
🖼️ RTL ⇄ Button
🇺🇸 English
A VS Code extension that adds Right-to-Left (RTL) text support to the Claude Code chat interface. Works with VS Code, Cursor, Kiro, and Antigravity. If you write in Arabic or Persian, this makes Claude Code feel natural — text flows the right way, and code blocks are left untouched.
🤔 Why does this exist?
Claude Code has no built-in RTL support. For Arabic and Persian speakers, this means:
- ❌ Text appears misaligned or jumbled
- ❌ Mixed-language conversations (code + RTL text) are hard to read
- ❌ The chat panel behaves inconsistently
This extension fixes all of that by injecting CSS that handles text direction — while keeping code blocks, tool outputs, and UI elements strictly LTR.
✨ Features
| Feature | Description |
|---|---|
| ▶️ Activate RTL | Injects RTL styles and adds a toggle button to the chat header |
| 📌 Activate RTL (Always) | Permanently enables RTL — no toggle needed |
| 👁️ Activate RTL (Auto) | Detects Arabic/Persian per bubble and sets direction automatically |
| 🔧 Fix BiDi | Enables RTL and fixes reversed text (e.g. "ملاس" → "سلام") |
| ⏹️ Deactivate RTL | Removes RTL and restores original files from backup |
| 🔍 Check Status | Shows which installations have RTL enabled |
| 📊 Status Bar | See your RTL state at a glance — click to manage |
| 🔄 Auto-reactivate | RTL comes back automatically after Claude Code updates |
| 🔤 Font Settings | Set different fonts for text areas and code blocks |
📋 Requirements
- Claude Code for VS Code (
anthropic.claude-code) — installed automatically as a dependency
💻 Supported Platforms
| 🛠️ IDEs |
|---|
| VS Code |
| Cursor |
| Kiro |
| Antigravity |
🚀 How to Use
📊 Option 1: Status Bar
After installation, a status bar item appears at the bottom of the window:
| Status | Meaning |
|---|---|
RTL: Active ✅ |
RTL is on with a toggle button |
RTL: Always 📌 |
RTL is permanently on |
RTL: Auto 👁️ |
RTL auto-detects per bubble |
RTL: Inactive ⭕ |
RTL is not installed |
RTL: N/A ❌ |
Claude Code extension not found |
Click the status bar item to open a quick menu with Activate / Activate (Always) / Deactivate / Status options.

🎯 Option 2: Command Palette
Press Ctrl+Shift+P (or Cmd+Shift+P on macOS) and search for:
| Command | Action |
|---|---|
Claude RTL: Activate RTL |
▶️ Enable RTL with a toggle button |
Claude RTL: Activate RTL (Always) |
📌 Enable RTL permanently |
Claude RTL: Activate RTL (Auto) |
👁️ Auto-detect RTL per bubble |
Claude RTL: Fix BiDi |
🔧 Enable RTL and fix reversed text |
Claude RTL: Deactivate RTL |
⏹️ Disable RTL and restore original files |
Claude RTL: Check Status |
🔍 View current installation status |
🔄 The window reloads automatically after activating or deactivating.
💬 Using RTL in Chat
Active mode — After activating and reloading:
- Open the Claude Code chat panel
- Click ⇄ in the chat header
- The interface switches to RTL — text aligns to the right
- Click again to go back to LTR
Always mode — RTL is permanently on. No button, no toggling.
Auto mode — Each bubble is handled independently. Arabic/Persian bubbles go RTL; English bubbles stay LTR. Great for mixed conversations.
💡 Active mode tip: Not every conversation needs RTL. Use ⇄ only when you're writing in Arabic or Persian.
💡 Always mode tip: Best if you exclusively write in Arabic or Persian and don't want to think about it.
💡 Auto mode tip: The most hands-off option — each bubble gets the right direction on its own.
🔄 Auto-reactivate: If a Claude Code update removes RTL, it'll be restored automatically on the next startup.
⚙️ Font Settings
You can customize the fonts Claude Code uses by adding these to your settings.json (Cmd+, → search claude-rtl):
| Setting | Description | Example |
|---|---|---|
claude-rtl.textFont |
Font for messages and the input box | Vazirmatn, Tahoma |
claude-rtl.codeFont |
Font for code blocks | JetBrains Mono, Fira Code |
{
"claude-rtl.textFont": "Vazirmatn",
"claude-rtl.codeFont": "JetBrains Mono"
}
💡 Leave a setting blank to keep Claude Code's default font.
🔄 Changing a font automatically re-injects CSS and reloads the window.
↔️ What Changes in RTL Mode?
| ✅ Becomes RTL | 🔒 Stays LTR |
|---|---|
| User messages | Code blocks |
| Claude's text responses | Tool calls and results |
| Lists and paragraphs | Thinking blocks |
| Question/answer blocks | Slash commands |
| Buttons and UI elements |
🔧 Troubleshooting
❓ Can't find the extension in Cursor, Kiro, or Antigravity- Search by extension ID:
claude-code-rtl-pro - The display name "Claude Code RTL Support" may not show up in all marketplaces
- Use the exact ID
claude-code-rtl-proin the extensions search bar
- Make sure the "Claude Code for VS Code" extension is installed
- Run
Claude RTL: Check Statusto see more details
- Try reloading the window manually:
Ctrl+Shift+P→Developer: Reload Window - Or close and reopen VS Code / Cursor completely
- This is caused by a
bidi-overrideCSS rule in Claude Code that forces all text to LTR - Use Claude RTL: Fix BiDi instead of Activate RTL
- Note: if you later run Activate RTL, the issue comes back — always use Fix BiDi in that case
- Claude Code updates replace its files, which removes RTL support
- RTL is automatically restored on the next startup
- If it doesn't come back on its own, run Claude RTL: Activate RTL manually
- Windows: Run VS Code as Administrator
- macOS / Linux: Check file permissions on the extensions directory
📄 License
MIT — see LICENSE for details.
🇸🇦 عربية
إضافة لـ VS Code تُضيف دعم الكتابة من اليمين إلى اليسار (RTL) لواجهة المحادثة في Claude Code، وتعمل على VS Code وCursor وKiro وAntigravity. إن كنت تكتب بالعربية أو الفارسية، ستجعل هذه الإضافة Claude Code يبدو طبيعيًا — النص يسير بالاتجاه الصحيح، وكتل الكود تبقى كما هي.
🤔 لماذا هذه الإضافة؟
Claude Code لا يدعم RTL بشكل مدمج. وهذا يعني لمتحدثي العربية والفارسية:
- ❌ النص يظهر بمحاذاة خاطئة أو مشوّهة
- ❌ صعوبة في قراءة المحادثات التي تجمع الكود مع النص RTL
- ❌ سلوك غير منتظم في لوحة المحادثة
تُعالج هذه الإضافة المشكلة بحقن CSS ذكي يتحكم في اتجاه النص، مع الحفاظ التام على LTR لكتل الكود ومخرجات الأدوات وعناصر الواجهة.
✨ الميزات
| الميزة | الوصف |
|---|---|
| ▶️ تفعيل RTL | يُضيف تنسيقات RTL وزر تبديل في رأس المحادثة |
| 📌 تفعيل RTL (دائم) | يُفعّل RTL بشكل دائم دون الحاجة لزر |
| 👁️ تفعيل RTL (تلقائي) | يكتشف العربية/الفارسية في كل فقاعة ويضبط الاتجاه تلقائيًا |
| 🔧 إصلاح BiDi | يُفعّل RTL ويُصلح النص المعكوس (مثل "ملاس" ← "سلام") |
| ⏹️ إيقاف RTL | يُزيل RTL ويستعيد الملفات الأصلية من النسخة الاحتياطية |
| 🔍 فحص الحالة | يعرض التثبيتات التي تعمل بـ RTL |
| 📊 شريط الحالة | اطّلع على حالة RTL بنظرة واحدة — انقر للإدارة |
| 🔄 إعادة تفعيل تلقائية | يعود RTL تلقائيًا بعد كل تحديث لـ Claude Code |
| 🔤 إعدادات الخط | اختر خطوطًا مختلفة لمناطق النص وكتل الكود |
📋 المتطلبات
- Claude Code for VS Code — تُثبَّت تلقائيًا كتبعية
💻 المنصات المدعومة
| 🛠️ بيئات التطوير |
|---|
| VS Code |
| Cursor |
| Kiro |
| Antigravity |
🚀 طريقة الاستخدام
📊 الخيار الأول: شريط الحالة
بعد التثبيت، يظهر عنصر في شريط الحالة أسفل النافذة:
| الحالة | المعنى |
|---|---|
RTL: Active ✅ |
RTL مفعّل مع زر تبديل |
RTL: Always 📌 |
RTL نشط دائمًا |
RTL: Auto 👁️ |
RTL يكتشف تلقائيًا لكل فقاعة |
RTL: Inactive ⭕ |
RTL غير مثبت |
RTL: N/A ❌ |
الإضافة غير موجودة |
انقر على شريط الحالة لفتح قائمة تضم خيارات التفعيل والإيقاف وعرض الحالة.
🎯 الخيار الثاني: لوحة الأوامر
اضغط Ctrl+Shift+P (ماك: Cmd+Shift+P) وابحث عن:
| الأمر | الإجراء |
|---|---|
Claude RTL: Activate RTL |
▶️ تفعيل RTL مع زر تبديل |
Claude RTL: Activate RTL (Always) |
📌 تفعيل RTL بشكل دائم |
Claude RTL: Activate RTL (Auto) |
👁️ تفعيل الكشف التلقائي لكل فقاعة |
Claude RTL: Fix BiDi |
🔧 تفعيل RTL وإصلاح النص المعكوس |
Claude RTL: Deactivate RTL |
⏹️ إيقاف RTL واستعادة الملفات الأصلية |
Claude RTL: Check Status |
🔍 عرض حالة التثبيت |
🔄 تُعاد تحميل النافذة تلقائيًا بعد التفعيل أو الإيقاف.
💬 الاستخدام في المحادثة
وضع Active — بعد التفعيل وإعادة التحميل:
- افتح لوحة المحادثة في Claude Code
- اضغط على زر ⇄ في رأس المحادثة
- تتحول الواجهة إلى RTL — النص يتراص على اليمين
- اضغط مرة أخرى للعودة إلى LTR
وضع Always — RTL نشط دائمًا. لا زر، لا تبديل.
وضع Auto — كل فقاعة تُعالَج بشكل مستقل. الفقاعات العربية/الفارسية تصبح RTL، والإنجليزية تبقى LTR. مثالي للمحادثات المختلطة.
💡 نصيحة (وضع Active): لا كل محادثة تحتاج RTL — استخدم ⇄ فقط حين تكتب بالعربية أو الفارسية.
💡 نصيحة (وضع Always): الأنسب إن كنت تكتب دائمًا بالعربية أو الفارسية ولا تريد التفكير في الأمر.
💡 نصيحة (وضع Auto): الخيار الأكثر راحة — كل فقاعة تحصل على اتجاهها الصحيح تلقائيًا.
🔄 إعادة التفعيل التلقائية: إن أزال تحديث Claude Code دعم RTL، فسيعود تلقائيًا عند إعادة التشغيل التالية.
⚙️ إعدادات الخط
يمكنك تخصيص الخطوط بإضافة هذه الإعدادات إلى settings.json (افتح بـ Cmd+, ثم ابحث عن claude-rtl):
| الإعداد | الوصف | مثال |
|---|---|---|
claude-rtl.textFont |
خط الرسائل وحقل الإدخال | Vazirmatn, Cairo |
claude-rtl.codeFont |
خط كتل الكود | JetBrains Mono, Fira Code |
{
"claude-rtl.textFont": "Vazirmatn",
"claude-rtl.codeFont": "JetBrains Mono"
}
💡 اتركِ الحقل فارغًا للإبقاء على الخط الافتراضي لـ Claude Code.
🔄 تغيير الخط يُعيد حقن CSS ويُعيد تحميل النافذة تلقائيًا.
↔️ ماذا يتغير في وضع RTL؟
| ✅ يتحول إلى RTL | 🔒 يبقى LTR |
|---|---|
| رسائل المستخدم | كتل الكود |
| ردود Claude النصية | مخرجات الأدوات |
| القوائم والفقرات | كتل التفكير |
| الأسئلة والأجوبة | أوامر Slash |
| الأزرار وعناصر الواجهة |
🔧 حل المشاكل
❓ لا تجد الإضافة في Cursor أو Kiro أو Antigravity- ابحث بالمعرّف المباشر:
claude-code-rtl-pro - الاسم الكامل "Claude Code RTL Support" قد لا يظهر في جميع المنصات
- استخدم المعرّف الدقيق
claude-code-rtl-proفي شريط البحث عن الإضافات
- تأكد أن إضافة "Claude Code for VS Code" مثبّتة
- شغّل الأمر
Claude RTL: Check Statusلمزيد من التفاصيل
- أعد تحميل النافذة يدويًا:
Ctrl+Shift+P←Developer: Reload Window - أو أغلق المحرر كليًا وأعد تشغيله
- السبب قاعدة
bidi-overrideفي CSS الخاص بـ Claude Code التي تُجبر كل النص على LTR - استخدم Claude RTL: Fix BiDi عوضًا عن Activate RTL
- تنبيه: إن شغّلت Activate RTL لاحقًا، ستعود المشكلة — استخدم Fix BiDi دائمًا في هذه الحالة
- التحديثات تستبدل ملفات Claude Code وتُزيل RTL معها
- يُستعاد RTL تلقائيًا عند إعادة التشغيل التالية
- إن لم يعد من تلقاء نفسه، شغّل Claude RTL: Activate RTL يدويًا
- Windows: شغّل VS Code بصلاحيات المسؤول
- macOS / Linux: تحقق من صلاحيات مجلد الإضافات
📄 الترخيص
MIT — انظر ملف LICENSE للتفاصيل.
🇮🇷 فارسی
یک افزونه VS Code که پشتیبانی از متن راستبهچپ (RTL) را به رابط چت Claude Code اضافه میکند. با VS Code، Cursor، Kiro و Antigravity کار میکند. اگر به فارسی یا عربی مینویسید، این افزونه Claude Code را برایتان طبیعی میکند — متن درست تراز میشود و بلوکهای کد دستنخورده باقی میمانند.
🤔 چرا این افزونه وجود دارد؟
Claude Code پشتیبانی بومی از RTL ندارد. برای فارسیزبانان و عربیزبانان این یعنی:
- ❌ متن ناخوانا یا بدتراز نمایش داده میشود
- ❌ مکالمات چندزبانه (کد + متن RTL) سخت خوانده میشوند
- ❌ پنل چت رفتار ناسازگاری دارد
این افزونه با تزریق CSS هوشمند این مشکلات را حل میکند — در حالی که بلوکهای کد، خروجی ابزارها و عناصر رابط کاربری همچنان LTR باقی میمانند.
✨ ویژگیها
| ویژگی | توضیح |
|---|---|
| ▶️ فعالسازی RTL | استایلهای RTL و یک دکمه تغییر به هدر چت اضافه میکند |
| 📌 فعالسازی RTL (همیشه) | RTL را بهصورت دائمی فعال میکند — بدون نیاز به دکمه |
| 👁️ فعالسازی RTL (خودکار) | فارسی/عربی را در هر حباب تشخیص میدهد و جهت را خودکار تنظیم میکند |
| 🔧 رفع BiDi | RTL را فعال میکند و متن معکوس را برطرف میکند (مثلاً «ملاس» ← «سلام») |
| ⏹️ غیرفعالسازی RTL | RTL را حذف میکند و فایلهای اصلی را از نسخه پشتیبان بازیابی میکند |
| 🔍 بررسی وضعیت | نشان میدهد کدام نصبها RTL فعال دارند |
| 📊 نوار وضعیت | وضعیت RTL را با یک نگاه ببینید — برای مدیریت کلیک کنید |
| 🔄 فعالسازی مجدد خودکار | RTL بعد از هر بهروزرسانی Claude Code بهطور خودکار برمیگردد |
| 🔤 تنظیمات فونت | فونتهای جداگانه برای متن و بلوکهای کد تنظیم کنید |
📋 نیازمندیها
- Claude Code for VS Code — بهصورت خودکار به عنوان وابستگی نصب میشود
💻 پلتفرمهای پشتیبانیشده
| 🛠️ محیطهای توسعه |
|---|
| VS Code |
| Cursor |
| Kiro |
| Antigravity |
🚀 نحوه استفاده
📊 گزینه ۱: نوار وضعیت
پس از نصب، یک آیتم در نوار وضعیت پایین پنجره نمایش داده میشود:
| وضعیت | معنی |
|---|---|
RTL: Active ✅ |
RTL روشن است با دکمه تغییر |
RTL: Always 📌 |
RTL همیشه روشن است |
RTL: Auto 👁️ |
RTL برای هر حباب خودکار تشخیص داده میشود |
RTL: Inactive ⭕ |
RTL نصب نشده |
RTL: N/A ❌ |
افزونه Claude Code پیدا نشد |
روی آیتم نوار وضعیت کلیک کنید تا منویی با گزینههای فعالسازی، غیرفعالسازی و بررسی وضعیت باز شود.
🎯 گزینه ۲: پالت فرمان
Ctrl+Shift+P (مک: Cmd+Shift+P) را فشار دهید و جستجو کنید:
| فرمان | عملکرد |
|---|---|
Claude RTL: Activate RTL |
▶️ فعالسازی RTL با دکمه تغییر |
Claude RTL: Activate RTL (Always) |
📌 فعالسازی دائمی RTL |
Claude RTL: Activate RTL (Auto) |
👁️ فعالسازی تشخیص خودکار برای هر حباب |
Claude RTL: Fix BiDi |
🔧 فعالسازی RTL و رفع متن معکوس |
Claude RTL: Deactivate RTL |
⏹️ غیرفعالسازی RTL و بازیابی فایلهای اصلی |
Claude RTL: Check Status |
🔍 نمایش وضعیت نصب |
🔄 پنجره بهطور خودکار پس از فعالسازی یا غیرفعالسازی reload میشود.
💬 استفاده در چت
حالت Active — پس از فعالسازی و بارگذاری مجدد:
- پانل چت Claude Code را باز کنید
- روی دکمه ⇄ در هدر چت کلیک کنید
- رابط به RTL تغییر میکند — متن به سمت راست تراز میشود
- برای بازگشت به LTR دوباره کلیک کنید
حالت Always — RTL همیشه روشن است. نه دکمه، نه تغییر دستی.
حالت Auto — هر حباب مستقل مدیریت میشود. حبابهای فارسی/عربی RTL میشوند؛ حبابهای انگلیسی LTR باقی میمانند. برای مکالمات مختلط عالی است.
💡 نکته (حالت Active): هر مکالمهای نیاز به RTL ندارد — از ⇄ فقط وقتی به فارسی یا عربی مینویسید استفاده کنید.
💡 نکته (حالت Always): اگر همیشه به فارسی یا عربی مینویسید و نمیخواهید هر بار فکر کنید، این حالت مناسب شماست.
💡 نکته (حالت Auto): راحتترین گزینه — هر حباب خودش جهت درستش را پیدا میکند.
🔄 فعالسازی مجدد خودکار: اگر بهروزرسانی Claude Code پشتیبانی RTL را حذف کرد، در راهاندازی بعدی بهطور خودکار برمیگردد.
⚙️ تنظیمات فونت
میتوانید فونتها را با افزودن این تنظیمات به settings.json شخصیسازی کنید (Cmd+, → جستجوی claude-rtl):
| تنظیم | توضیح | مثال |
|---|---|---|
claude-rtl.textFont |
فونت پیامها و فیلد ورودی | Vazirmatn, Tahoma |
claude-rtl.codeFont |
فونت بلوکهای کد | JetBrains Mono, Fira Code |
{
"claude-rtl.textFont": "Vazirmatn",
"claude-rtl.codeFont": "JetBrains Mono"
}
💡 فیلد را خالی بگذارید تا فونت پیشفرض Claude Code حفظ شود.
🔄 تغییر فونت بهطور خودکار CSS را دوباره تزریق کرده و پنجره را reload میکند.
↔️ چه چیزی در حالت RTL تغییر میکند؟
| ✅ تبدیل به RTL میشود | 🔒 LTR باقی میماند |
|---|---|
| پیامهای کاربر | بلوکهای کد |
| پاسخهای متنی Claude | خروجی ابزارها |
| لیستها و پاراگرافها | بلوکهای تفکر |
| بلوکهای سوال/جواب | دستورات Slash |
| دکمهها و عناصر رابط کاربری |
🔧 عیبیابی
❓ افزونه را در Cursor، Kiro یا Antigravity پیدا نمیکنید- با شناسه مستقیم جستجو کنید:
claude-code-rtl-pro - نام کامل «Claude Code RTL Support» ممکن است در همه پلتفرمها نمایش داده نشود
- از شناسه دقیق
claude-code-rtl-proدر نوار جستجوی افزونهها استفاده کنید
- مطمئن شوید افزونه «Claude Code for VS Code» نصب شده است
- دستور
Claude RTL: Check Statusرا اجرا کنید تا جزئیات بیشتری ببینید
- پنجره را دستی reload کنید:
Ctrl+Shift+P→Developer: Reload Window - یا محرر را کاملاً ببندید و دوباره باز کنید
- علت یک قاعده
bidi-overrideدر CSS مربوط به Claude Code است که همه متنها را به LTR مجبور میکند - به جای Activate RTL از Claude RTL: Fix BiDi استفاده کنید
- توجه: اگر بعداً Activate RTL را اجرا کنید، مشکل برمیگردد — در آن صورت همیشه از Fix BiDi استفاده کنید
- بهروزرسانیها فایلهای Claude Code را جایگزین میکنند و RTL را حذف میکنند
- RTL بهطور خودکار در راهاندازی بعدی بازیابی میشود
- اگر بهطور خودکار برنگشت، دستور Claude RTL: Activate RTL را دستی اجرا کنید
- Windows: VS Code را با دسترسی Administrator اجرا کنید
- macOS / Linux: مجوزهای پوشه افزونهها را بررسی کنید
📄 مجوز
MIT — برای جزئیات فایل LICENSE را ببینید.