Releases: mahdigh99/rtl-for-claude
Release list
RTL for Claude 1.4.5
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.vsixbelow, then Extensions →…→ Install from VSIX… - Chrome / Edge / Brave — download
rtl-for-claude-browser-1.4.5.zip, unzip, openchrome://extensions, enable Developer mode → Load unpacked. - No install —
bash vscode-extension/apply-rtl.sh(Claude) orbash vscode-extension-codex/apply-rtl.sh(Codex).
Full changelog: https://github.com/mahdigh99/rtl-for-claude/blob/main/CHANGELOG.md
v1.4.4
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
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 command —
npx rtl-for-claude - VS Code — download
rtl-for-claude-vscode-1.4.3.vsixbelow, then Extensions →…→ Install from VSIX… - Chrome / Edge / Brave — download
rtl-for-claude-browser-1.4.3.zip, unzip, openchrome://extensions, enable Developer mode → Load unpacked.
Full changelog: https://github.com/mahdigh99/rtl-for-claude/blob/main/CHANGELOG.md
RTL for Claude 1.4.2
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 command —
npx rtl-for-claude - VS Code — download
rtl-for-claude-vscode-1.4.2.vsixbelow, then Extensions →…→ Install from VSIX… - Chrome / Edge / Brave — download
rtl-for-claude-browser-1.4.2.zip, unzip, openchrome://extensions, enable Developer mode → Load unpacked.
Full changelog: https://github.com/mahdigh99/rtl-for-claude/blob/main/CHANGELOG.md
RTL for Claude 1.4.1
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,
qnow quits immediately at the "Press Enter for the
menu, or q to quit" pause — no Enter needed, as the prompt always promised.
📦 Install
- One command —
npx rtl-for-claude - VS Code — download
rtl-for-claude-vscode-1.4.1.vsixbelow, then Extensions →…→ Install from VSIX… - Chrome / Edge / Brave — download
rtl-for-claude-browser-1.4.1.zip, unzip, openchrome://extensions, enable Developer mode → Load unpacked.
Full changelog: https://github.com/mahdigh99/rtl-for-claude/blob/main/CHANGELOG.md
RTL for Claude 1.4.0
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_COLORterminal gets clean plain text.--doctorchecks 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.vsixbelow, then Extensions →…→ Install from VSIX… - Chrome / Edge / Brave — download
rtl-for-claude-browser-1.4.0.zip, unzip, openchrome://extensions, enable Developer mode → Load unpacked. - No install —
bash vscode-extension/apply-rtl.sh(Claude) orbash 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
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 shortcuts —
Ctrl/Cmd + Shift + 9cycles 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.vsixbelow, then Extensions →…→ Install from VSIX… - Chrome / Edge / Brave — download
rtl-for-claude-browser-1.3.0.zip, unzip, openchrome://extensions, enable Developer mode → Load unpacked - Claude Desktop (macOS) — from a copy of this repo:
bash desktop-app/apply-rtl.sh --install - No install —
bash vscode-extension/apply-rtl.sh(Claude) orbash 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
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.
Runbash 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.vsixbelow, then
Extensions →…→ Install from VSIX… - Chrome / Edge / Brave — download
rtl-for-claude-browser-1.2.0.zip,
unzip it, openchrome://extensions, enable Developer mode →
Load unpacked. - No install —
bash 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
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
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.