claudeers.

🔓 unclaimed — this page was auto-generated from GitHub. Are you the creator?

Claim this page →
// Developer Tools

claude-desktop-rtl

Smooth right-to-left (Hebrew/Arabic/Persian) for Claude Desktop & claude.ai | prose, tables & math - on macOS and Windows.

// Developer Tools[ cli ][ api ][ desktop ][ web ][ claude ]#claude#anthropic#arabic#bidi#bidirectional#claude-ai#claude-desktop#hebrew#devtoolsMIT$open-sourceupdated 7 days ago
// install
git clone https://github.com/liorshaya/claude-desktop-rtl

Claude Desktop RTL

English   עברית   العربية

Smooth right-to-left (Hebrew · Arabic · Persian) for Claude Desktop & claude.ai — from one pure engine.


Claude writes beautiful Hebrew and Arabic — then renders it left-to-right: bullets on the wrong side, sentence-final punctuation jumping across the line, tables flowing backwards. Claude RTL fixes that everywhere Claude runs, and it does it without ever touching your text or your network.

The same Claude reply without and with Claude RTL — tables, lists and Hebrew text rendered left-to-right (broken) versus correctly right-to-left

Without RTL the same reply renders left-to-right — reversed table columns, punctuation on the wrong side. With it, every block reads correctly.

Why it's different

  • 🎯 Per-block direction, done right. Each paragraph, list, table and quote decides its own direction from its own content. English blocks stay LTR and Hebrew blocks flip RTL — in the same document, with no global flip (the bug every other tool has).
  • 🔒 Zero network. Zero telemetry. Zero stored data. Your conversations never leave your machine. Copy and Ctrl-F stay byte-for-byte — we never inject invisible Unicode marks.
  • 🛡️ Safe by construction. Your original Claude is never modified. We patch a separate copy, and it survives Claude updates automatically.
  • 🖥️ Desktop and browser, one engine. A one-click menu-bar app on macOS and a tray app on Windows for Claude Desktop, plus a userscript for claude.ai in any browser — all sharing the exact same bidi engine.
  • 🧪 A pure, unit-tested core. The bidi intelligence (engine/) is DOM-free and covered by a torture-test corpus, decoupled from how it's delivered.

What it handles

SurfaceBehaviour
Prose (paragraphs, headings)Per-block base direction via the browser's own first-strong
Lists (incl. nested)Markers + indent hang on the content side; smart per-item direction
TablesColumn order follows the header; every cell aligns to the table
Block quotesThe bar/indent move to the content side
Numbers, currency, %, datesOrdered correctly; never force a Hebrew line LTR
Arrows () in RTLMirrored visually — the character itself is untouched
Code blocksStay LTR by design (RTL would scramble syntax)
Input / edit boxesdir="auto", instantly, with no flicker
Mixed English/Hebrew docEach block self-determines — no global flip

✅ Supported platforms

SurfaceRequirements
🍎 macOS DesktopmacOS 13 (Ventura) or later. The prebuilt .dmg is for Apple Silicon; Intel Macs can build from source.
🪟 Windows DesktopWindows 10 or 11 (64-bit). Patches both Claude installs — the classic installer from claude.ai and the Microsoft Store (MSIX) build.
🌐 Browser — claude.aiAny OS. Chrome, Edge, Firefox or Safari with a userscript manager.

🚀 Install

The Claude RTL manager — menu-bar app on macOS and tray app on Windows, both showing “RTL is active”

The one-click manager on macOS (menu bar) and Windows (tray) — installs, auto-updates and removes RTL, no terminal needed.

A menu-bar app installs, updates, and removes RTL with one click. It needs no Node and no terminal.

Option A — download the app (fastest)

  1. Download Claude-RTL.dmg from the latest release.
  2. Open it and drag Claude RTL onto Applications.
  3. First launch only: right-click the app → OpenOpen. (macOS Sequoia: System Settings → Privacy & Security → “Open Anyway”.) This one-time step exists because the app is open-source and ad-hoc signed, not Apple-notarized — Option B skips it entirely.

Option B — build from source (no Gatekeeper prompt)

git clone https://github.com/liorshaya/claude-desktop-rtl.git
cd claude-desktop-rtl/gui && ./build.sh          # one-time build (needs Node + Xcode CLT)
open "dist/Claude RTL.app"

Then, from the menu-bar app:

  1. Click Install RTL — it patches a copy at ~/Applications/Claude-RTL.app.
  2. macOS asks for your keychain password once → click Always Allow (it's your machine, your keychain).
  3. Click Open Claude-RTL. That's it — smooth RTL.

Toggle “Keep RTL after Claude updates” and it re-applies itself whenever Claude updates. Check for updates (under Details) fetches newer builds of the app itself.

The original Claude in /Applications is never touched. “Open Claude-RTL” quits the original first (they can't run together). A blank first window? Quit (⌘Q) and reopen.

Windows Desktop

A tray app installs, updates, and removes RTL — no Node, no terminal, nothing to install first (a portable runtime is bundled in the installer).

  1. Download ClaudeRTL-Setup.exe from the latest release and run it. It's a per-user install — no admin needed.
  2. Launch Claude RTL from the Start menu and click the button to patch Claude. The app detects how Claude is installed and applies RTL in place, backing up the originals first.
  3. Open Claude — Hebrew, Arabic and Persian render RTL.

Toggle “Keep RTL after Claude updates” and it re-applies itself automatically after every Claude update.

Works with both Claude installs: the classic .exe from claude.ai and the Microsoft Store (MSIX) build. On the Store build, applying RTL needs a one-time admin approval (UAC) — it re-signs Claude with a local certificate so Cowork keeps working, and “Restore original” fully reverts everything. Your original Claude is always backed up.

Prefer the command line? The PowerShell pipeline is documented in desktop/windows/README.md.

Browser — claude.ai (any OS)

Works in Chrome, Edge, Firefox, Safari — anywhere with a userscript manager.

npm run build            # builds dist/claude-rtl.user.js
  1. Install Tampermonkey (or Violentmonkey).
  2. Open dist/claude-rtl.user.js and install it (or paste its contents into a new script).
  3. In the extension, enable “Allow User Scripts” (a Chrome/Edge requirement).
  4. Reload claude.ai.

CLI — advanced (macOS)

desktop/patch.sh --install      # patch (build a copy + inject RTL)
desktop/patch.sh --watch        # auto-re-apply on Claude updates
desktop/patch.sh --status       # original / patched / watcher state
desktop/patch.sh --uninstall    # remove the copy (original untouched)

🧠 How it works

The browser already runs a complete Unicode Bidi Algorithm. We don't reimplement it — we make the direction & isolation decisions and let the renderer reorder. CSS unicode-bidi: plaintext per leaf block is the sole base-direction mechanism for prose, so every block self-determines and the container is never force-flipped. The desktop app injects the same engine into Claude's renderer bundles and flips only the window-chrome direction in the main process.

Full design: ARCHITECTURE.md.

⚠️ Limitations (v1)

  • Real code blocks stay LTR (deliberate — RTL scrambles braces, indentation, operators).
  • Desktop Artifacts render in a cross-origin iframe the desktop payload can't enter yet (the browser userscript does cover them).
  • No bundled Hebrew font yet — macOS already renders Hebrew via system fonts.
  • See ARCHITECTURE.md §15 for the full list.

🗺️ Roadmap

  • Engine · browser userscript · macOS desktop (menu-bar app, auto-update watcher, signing, .dmg) · Windows desktop (tray app + installer, patches both the classic and Microsoft Store installs, update watcher)
  • ⏳ Onboarding polish · styled .dmg · screenshot gallery

🤝 Contributing

PRs are very welcome — this is open source. The engine is pure and unit-tested; the bar is a green node --test and a small, single-purpose change. Start with CONTRIBUTING.md, and if Claude changes its DOM, the adopt-a-new-Claude-version runbook shows exactly how to update the selectors.

🔏 Code signing

Windows release artifacts are governed by the project's Code Signing Policy (team roles, build process, privacy). Code signing is being set up free of charge through the SignPath Foundation OSS program.

📄 License

MIT © Lior Shaya

// compatibility

Platformscli, api, desktop, web
Operating systems
AI compatibilityclaude
LicenseMIT
Pricingopen-source
LanguageJavaScript

// faq

What is claude-desktop-rtl?

Smooth right-to-left (Hebrew/Arabic/Persian) for Claude Desktop & claude.ai | prose, tables & math - on macOS and Windows.. It is open-source on GitHub.

Is claude-desktop-rtl free to use?

claude-desktop-rtl is open-source under the MIT license, so it is free to use.

What category does claude-desktop-rtl belong to?

claude-desktop-rtl is listed under devtools in the Claudeers registry of Claude-compatible tools.

15 views
10 stars
unclaimed
updated 7 days ago

// embed badge

claude-desktop-rtl on Claudeers
[![Claudeers](https://claudeers.com/api/badge/claude-desktop-rtl.svg)](https://claudeers.com/claude-desktop-rtl)

// retro hit counter

claude-desktop-rtl hit counter
[![Hits](https://claudeers.com/api/counter/claude-desktop-rtl.svg)](https://claudeers.com/claude-desktop-rtl)

// reviews

// guestbook

0/500

// related in Developer Tools

🔓

The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Curs…

// devtoolsaffaan-m/JavaScript225,699MIT[ claude ]
🔓

Use Garry Tan's exact Claude Code setup: 23 opinionated tools that serve as CEO, Designer, Eng Manager, Release Manager, Doc Engineer, and QA

// devtoolsgarrytan/TypeScript119,234MIT[ claude ]
🔓

🙌 OpenHands: AI-Driven Development

// devtoolsOpenHands/Python79,324NOASSERTION[ claude ]
🔓

AI coding assistant skill (Claude Code, Codex, OpenCode, Cursor, Gemini CLI, and more). Turn any folder of code, SQL schemas, R scripts, shell scripts, docs,…

// devtoolssafishamsi/Python77,145MIT[ claude ]
→ see how claude-desktop-rtl connects across the ecosystem