claudeers.
// 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 about 2 months ago
Actively maintained
100/100
last commit about 1 month ago
last release about 1 month ago
releases 17
open issues 0
// star history

Install with your AI

Paste into Claude Code, Cursor, or any agent — it reads the repo and wires the tool into your project.

Install and set up claude-desktop-rtl (git-clone project) into my current project.
Found on https://claudeers.com/claude-desktop-rtl
Repo: https://github.com/liorshaya/claude-desktop-rtl
Homepage/docs: https://github.com/liorshaya/claude-desktop-rtl/releases/latest
Detected install method: git-clone → git clone https://github.com/liorshaya/claude-desktop-rtl
Category: devtools. Platforms: cli, api, desktop, web.
Read the repo's README for exact setup and env vars, then install it and wire it into my project.

Claudeers Health Verdict:
active; community-verified: false. Confirm the source before running anything.
// or clone
git clone https://github.com/liorshaya/claude-desktop-rtl

// compatibility

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

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

// 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.

124 views
20 stars
unclaimed
updated about 2 months 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/JavaScript240,305MIT[ 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/TypeScript128,278MIT[ 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/Python109,277MIT[ claude ]
🔓

Makes your AI agent think like the laziest senior dev in the room. The best code is the code you never wrote.

// devtoolsDietrichGebert/JavaScript104,762MIT[ claude ]
→ see how claude-desktop-rtl connects across the ecosystem