Skip to content

Releases: mahdigh99/rtl-for-claude

RTL for Claude 1.4.5

Choose a tag to compare

@mahdigh99 mahdigh99 released this 10 Aug 12:40

Fixed

  • The browser extension's popup could open as a thin, unusable sliver.
    A safeguard meant for very narrow screens told the popup to never be wider
    than its own window — but Chrome sizes that window from the popup's
    content, so the two settled on the smallest width possible and the settings
    couldn't be reached. The popup now always opens at its full width.

📦 Install

  • VS Code — download rtl-for-claude-vscode-1.4.5.vsix below, then Extensions → → Install from VSIX…
  • Chrome / Edge / Brave — download rtl-for-claude-browser-1.4.5.zip, unzip, open chrome://extensions, enable Developer modeLoad unpacked.
  • No installbash vscode-extension/apply-rtl.sh (Claude) or bash vscode-extension-codex/apply-rtl.sh (Codex).

Full changelog: https://github.com/mahdigh99/rtl-for-claude/blob/main/CHANGELOG.md

v1.4.4

Choose a tag to compare

@mahdigh99 mahdigh99 released this 31 Jul 19:21

Fixed

  • Typed text could go invisible in the Claude Code input box. With the
    chat pinned RTL, a draft containing $ or digits around an operator could
    get its display layer wrapped by the math isolation — after that, new
    keystrokes stopped showing while the old draft and the placeholder stuck to
    the screen on top of each other. The input box is now completely off-limits
    to math isolation, and the 1.4.3 crash guard now really removes a node the
    app asked to remove instead of leaving it behind as ghost text.

Install: npx rtl-for-claude · VS Code Marketplace / Open VSX · store extensions update automatically once reviewed.

RTL for Claude 1.4.3

Choose a tag to compare

@mahdigh99 mahdigh99 released this 31 Jul 17:45

Fixed

  • No more "Something went wrong … removeChild" crashes. On long or
    math-heavy answers, the chat could crash and ask you to re-launch: the app's
    own renderer tripped over a text node we had wrapped to keep math reading
    left-to-right. Every surface — the Claude Code and Codex chats, the desktop
    app and the browser extension — now installs the standard protection for
    exactly this (the same crash Google Translate causes on such apps), so a
    wrapped node can never take the chat down again.

📦 Install

  • One commandnpx rtl-for-claude
  • VS Code — download rtl-for-claude-vscode-1.4.3.vsix below, then Extensions → → Install from VSIX…
  • Chrome / Edge / Brave — download rtl-for-claude-browser-1.4.3.zip, unzip, open chrome://extensions, enable Developer modeLoad unpacked.

Full changelog: https://github.com/mahdigh99/rtl-for-claude/blob/main/CHANGELOG.md

RTL for Claude 1.4.2

Choose a tag to compare

@mahdigh99 mahdigh99 released this 30 Jul 15:34

Changed

  • The desktop installer now says it out loud: the patch is a second app.
    After installing, it tells you that Claude-RTL is a separate app, that
    it is not next to the original (it lives in ~/Applications, the
    Applications folder inside your home), that Spotlight finds it — and offers
    to open it for you right away. The docs say the same thing just as clearly.

📦 Install

  • One commandnpx rtl-for-claude
  • VS Code — download rtl-for-claude-vscode-1.4.2.vsix below, then Extensions → → Install from VSIX…
  • Chrome / Edge / Brave — download rtl-for-claude-browser-1.4.2.zip, unzip, open chrome://extensions, enable Developer modeLoad unpacked.

Full changelog: https://github.com/mahdigh99/rtl-for-claude/blob/main/CHANGELOG.md

RTL for Claude 1.4.1

Choose a tag to compare

@mahdigh99 mahdigh99 released this 30 Jul 15:13

Fixed

  • The Claude Desktop patcher works with current Claude versions again.
    Newer builds ship one preload file per window; the patcher now covers all of
    them (RTL still activates only on the real claude.ai page) instead of
    stopping with "ambiguous preload candidates".
  • Claude's replies get RTL and the Vazirmatn font again. claude.ai renamed
    its reply container, which left answers unstyled while your own bubbles
    looked right. Fixed in both the desktop patch and the browser extension,
    with a selector that survives the next rename too.
  • In the installer, q now quits immediately at the "Press Enter for the
    menu, or q to quit" pause — no Enter needed, as the prompt always promised.

📦 Install

  • One commandnpx rtl-for-claude
  • VS Code — download rtl-for-claude-vscode-1.4.1.vsix below, then Extensions → → Install from VSIX…
  • Chrome / Edge / Brave — download rtl-for-claude-browser-1.4.1.zip, unzip, open chrome://extensions, enable Developer modeLoad unpacked.

Full changelog: https://github.com/mahdigh99/rtl-for-claude/blob/main/CHANGELOG.md

RTL for Claude 1.4.0

Choose a tag to compare

@mahdigh99 mahdigh99 released this 29 Jul 18:22

Added

  • Install with one command: npx rtl-for-claude. No download, no unzip, no
    cd — an arrow-key menu asks what you want (the Claude Desktop app, the
    Claude Code chat, the Codex chat, or the VS Code extension), tells you exactly
    what it will change, and asks before doing it. It degrades gracefully: a
    terminal that can't do arrow keys gets a numbered prompt, and a pipe or a
    NO_COLOR terminal gets clean plain text. --doctor checks the prerequisites and
    names the fix for each missing one — including the Xcode Command Line Tools,
    which it now checks before copying a 500 MB app bundle instead of failing
    half-way. Everything is still installable by hand from a checkout: the
    installer runs the very same scripts.
  • A double-click installer for macOS in the release assets, for people who
    would rather not open a terminal at all. (First launch needs right-click →
    Open, because macOS quarantines every downloaded script.)
  • The VS Code extension can now cover the Codex chat too. Turn on
    rtlForClaude.codex.enabled — the extension offers it once, by itself, when
    Codex is installed. The Codex chat gets your fonts and settings, and — unlike
    the hand-run patch — it re-applies automatically after every Codex update.
    Fully reversible, and a patch you applied with the standalone script is never
    touched unless you opt in.

📦 Install

  • VS Code — download rtl-for-claude-vscode-1.4.0.vsix below, then Extensions → → Install from VSIX…
  • Chrome / Edge / Brave — download rtl-for-claude-browser-1.4.0.zip, unzip, open chrome://extensions, enable Developer modeLoad unpacked.
  • No installbash vscode-extension/apply-rtl.sh (Claude) or bash vscode-extension-codex/apply-rtl.sh (Codex).

Full changelog: https://github.com/mahdigh99/rtl-for-claude/blob/main/CHANGELOG.md

RTL for Claude 1.3.0

Choose a tag to compare

@mahdigh99 mahdigh99 released this 27 Jul 11:17

The biggest release since 1.0: Claude Desktop on macOS, any AI chat site you add yourself, an RTL Markdown preview in VS Code, and keyboard shortcuts everywhere.

  • Claude Desktop (macOS) — builds a patched copy at ~/Applications/Claude-RTL.app; your original app is never modified. Guide
  • Add your own sites in the browser popup — DeepSeek, Grok, Perplexity, Copilot… (Firefox 128+)
  • Keyboard shortcutsCtrl/Cmd + Shift + 9 cycles the whole chat Auto → RTL → LTR
  • Four languages in the popup and the VS Code settings — English, فارسی, العربية, اردو
  • RTL Markdown preview in VS Code; code and formulas stay left-to-right
  • Math no longer mirrors inside Persian text, and tables flip per cell
  • RTL survives Claude Code updates, and the whole-chat direction choice survives a reload

📦 Install

  • VS Code — download rtl-for-claude-vscode-1.3.0.vsix below, then Extensions → → Install from VSIX…
  • Chrome / Edge / Brave — download rtl-for-claude-browser-1.3.0.zip, unzip, open chrome://extensions, enable Developer modeLoad unpacked
  • Claude Desktop (macOS) — from a copy of this repo: bash desktop-app/apply-rtl.sh --install
  • No installbash vscode-extension/apply-rtl.sh (Claude) or bash vscode-extension-codex/apply-rtl.sh (Codex)

Full changelog: https://github.com/mahdigh99/rtl-for-claude/blob/main/CHANGELOG.md

RTL for Claude 1.2.0

Choose a tag to compare

@mahdigh99 mahdigh99 released this 25 Jul 14:11

Codex support, a settings panel that speaks your language, and a batch of
right-to-left correctness fixes for messages that mix Persian with English.

✨ Added

  • RTL for Codex (VS Code) — a standalone, fully reversible patcher for the
    OpenAI Codex panel: automatic paragraph direction, live composer direction,
    Vazirmatn typography and an Auto / RTL / LTR toggle.
    Run bash vscode-extension-codex/apply-rtl.sh. (thanks @MHSttrn)
  • The settings panel now speaks four languages — English, فارسی, العربية and
    اردو. It follows your VS Code display language and can be pinned from a
    Language picker. For Persian/Arabic/Urdu the panel itself flips to RTL,
    switches included.
  • Choose where the direction button lives — Top toolbar (new default, docked
    next to New session / Session history), Floating, or Hidden.
  • Custom font — pick “Custom” and type your own family name (e.g. Estedad,
    IRANSans); Vazirmatn stays as a fallback.
  • Windows PowerShell installer (apply-rtl.ps1) and Antigravity IDE
    support in both installers. (thanks @HuAliAsu)

🐛 Fixed

  • Persian messages that open with an English word or a URL no longer read
    left-to-right. There were two separate causes: Claude marks prose with
    unicode-bidi: plaintext, and renders user text inside <span dir="auto">
    both take the direction from the first strong character and outranked the
    direction we set. The same bug made the global LTR toggle a no-op on
    Persian-leading paragraphs.
  • The per-message toggle showed two stacked buttons on user messages and did
    nothing at all on plain-text ones. One button now, and it actually flips the
    text.
  • RTL no longer leaks outside the chat in the browser extension — file
    previews and code/Markdown tabs stay put. (#1, thanks @HuAliAsu)
  • The settings panel is responsive again on a narrow sidebar: dropdowns and
    sliders no longer overflow, and the on/off knobs stay inside their track.
  • Changing the direction-button placement takes effect immediately.

📦 Install

  • VS Code — download rtl-for-claude-vscode-1.2.0.vsix below, then
    Extensions → → Install from VSIX…
  • Chrome / Edge / Brave — download rtl-for-claude-browser-1.2.0.zip,
    unzip it, open chrome://extensions, enable Developer mode
    Load unpacked.
  • No installbash vscode-extension/apply-rtl.sh (Claude) or
    bash vscode-extension-codex/apply-rtl.sh (Codex).

Full changelog: https://github.com/mahdigh99/rtl-for-claude/blob/main/CHANGELOG.md

RTL for Claude 1.1.0

Choose a tag to compare

@mahdigh99 mahdigh99 released this 23 Jun 08:31

Stable streaming RTL — Persian/Arabic/Urdu & every RTL script in Claude, ChatGPT, Gemini and the Claude Code chat.

Highlights

  • No more left↔right "jumping" while answers stream (marker-on-stable-container + CSS, never per-token attributes).
  • Tables keep RTL column order; your own message bubbles render RTL; code/inline stays LTR.
  • AskUserQuestion / option boxes go full RTL (radio on the right).
  • App chrome and bubble layouts are never broken; 100% local, no tracking.

Install

  • Browser (Chrome/Edge/Brave/Firefox): rtl-for-claude-browser-1.1.0.zip
  • VS Code (Claude Code): rtl-for-claude-vscode-1.1.0.vsix → Extensions ▸ … ▸ Install from VSIX

See CHANGELOG.md for details.

RTL for Claude 1.0.1

Choose a tag to compare

@mahdigh99 mahdigh99 released this 14 Jun 09:41

Stable streaming RTL — Persian/Arabic/Urdu & every RTL script in Claude, ChatGPT, Gemini and the Claude Code chat.

Highlights

  • No more left↔right "jumping" while answers stream (marker-on-stable-container + CSS, never per-token attributes).
  • Tables keep RTL column order; your own message bubbles render RTL; code/inline stays LTR.
  • AskUserQuestion / option boxes go full RTL (radio on the right).
  • App chrome and bubble layouts are never broken; 100% local, no tracking.

Install

  • Browser (Chrome/Edge/Brave/Firefox): rtl-for-claude-browser-1.0.1.zip
  • VS Code (Claude Code): rtl-for-claude-vscode-1.0.1.vsix → Extensions ▸ … ▸ Install from VSIX

See CHANGELOG.md for details.