Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

281 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Kivun Terminal - RTL Claude Code on Windows and Linux

Kivun Terminal demo - Hebrew RTL Claude Code session

📹 Demo: Hebrew Claude Code session inside Kivun Terminal - download MP4 (2.4 MB) if your browser doesn't autoplay above.

MIT License Latest release Platform 11 RTL Languages GitHub Stars Last Commit Total Downloads

Real RTL Claude Code terminal. Hebrew, Arabic, Persian, Urdu and 8 more - rendered correctly, on Windows and Linux.

macOS support deprecated as of v1.2.4 - no native Mac terminal renders mixed Hebrew+English correctly today. Details & uninstall instructions →

Quick StartWhy Kivun Terminal?BiDi WrapperArchitectureConfigurationChangelogTroubleshooting


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

English

💡 Working in English (LTR) only? Check out the sister project ClaudeCode Launchpad CLI - same launcher concept, faster startup (~2 s), no WSL needed. Kivun Terminal is the right pick when you need RTL/BiDi rendering for Hebrew, Arabic, Persian, etc.

Why Kivun Terminal?

Launchpad CLI Kivun Terminal
Hebrew / Arabic / Persian text right-aligned ❌ shows left-aligned ✅ aligns to the right where it belongs
English/code mixed inside a Hebrew sentence ❌ words pushed to the wrong edge ✅ words land at the correct position in the sentence
Supported RTL languages 0 11 (Hebrew, Arabic, Persian, Urdu, Pashto, Kurdish, Dari, Uyghur, Sindhi, Yiddish, Syriac)
Live status bar (model, context %, usage)
Light-blue Kivun theme ✅ Windows Terminal ✅ Konsole
Right-click "Open with…" on a folder ✅ Windows Explorer ✅ Windows Explorer + Linux file managers
Named profiles per project (folder + model + flags + env vars + startup slash-commands) ✅ v2.6.0 - chip row at top of picker, click to switch; ANTHROPIC_API_KEY etc. masked in preview by default 🆕 v1.4.0 - chip row at top of picker; per-profile ANTHROPIC_API_KEY/DEBUG/MCP_* propagated via WSLENV; masked in preview by default
Startup time ~2 s ~6 s
Install size on Windows ~150 MB ~2 GB (includes Ubuntu + Konsole)
macOS support ❌ Deprecated as of v1.2.4 (no Mac terminal handles mixed Hebrew+English - see mac/README.md)
Linux support ✅ apt / dnf / pacman / zypper

Technical details (BiDi wrapper, RLM injection, Konsole 23.x workarounds, etc.) live in the rest of this README and in docs/ for anyone who wants them.

Download for Windows   Download for Linux

What's included out of the box

Kivun Terminal folder picker (v1.4.8) - folder selection up top, an Advanced options toggle that hides model / flags / startup slash-commands / env-vars by default, and a yellow 'Update available' banner that checks GitHub Releases on launch and offers a one-click Download button

  • 🆕 Named profiles (v1.4.0+) - save folder + model + flags + startup slash-commands + environment variables per project. The chip row at the top of the picker lets you switch between profiles in one click; the active profile is highlighted blue. Per-profile env vars (ANTHROPIC_API_KEY, DEBUG, custom MCP_*, …) are propagated through WSLENV on Windows / export on Linux so they reach the Claude Code session. Values are masked in the resolved-command preview by default for screenshot safety; click 👁 show values to reveal.
  • Folder picker dialog on the desktop shortcut (screenshot above) - browse the folder tree or type/paste a Windows path, plus inline radio-button model selection (Opus / Sonnet / Haiku), one-click flag chips (Respond in Hebrew, High effort, Auto-accept file edits, Read-only, etc.), and a textarea for startup slash commands like /voicemode:converse.
  • Right-click "Open with Kivun Terminal" on any folder in File Explorer - launches straight into that folder, skipping the picker.
  • Live two-line statusline at the bottom of every Claude Code session - model, context %, total tokens, session duration, and 5-hour / 7-day usage with countdown to reset.
  • Choose your terminal background color for Konsole, right in the folder picker's Advanced options (or via TERMINAL_COLOR= in the config). Light-blue Kivun (#C8E6FF) on by default; switch to dark, black, white, default (your emulator's own theme), or any custom hex like #1e1e2e. Text color is picked automatically for readability. Apply now shows a color change in a new tab (Ctrl+Shift+T) right away; otherwise it applies on your next launch.
  • Cap WSL's memory from the folder picker's Advanced options — WSL2 runs a small Linux VM that can hold a lot of RAM. Set a limit (saved to your .wslconfig); it takes effect after WSL next restarts.
  • BiDi wrapper that fixes Hebrew/Arabic/Persian rendering bugs in Claude Code's TUI (see BiDi Wrapper below for the seven specific fixes).
  • Auto-installs everything - WSL2 + Ubuntu + Konsole + Node.js + Claude Code itself, on a clean Windows machine. The installer asks once and handles the rest.

Quick Start

Windows

⚠️ Install in this exact order. Almost every install problem comes from skipping step 2 (Run as administrator).

  1. Download Kivun_Terminal_Setup.exe from the latest release.
  2. Right-click the file → Run as administrator. Do not just double-click it. This lets the installer set up WSL in one go - the most common failure ("WSL install not started") is simply a missing admin step.
  3. If a black window appears asking to create a Ubuntu user: type a username (lowercase, no spaces), press Enter, then type a password and press Enter, twice. The password stays invisible while you type - that is normal, just keep typing.
  4. If the installer asks you to reboot, reboot, then run the same .exe again with right-click → Run as administrator to finish.
  5. Installing takes about 5–15 minutes. The progress bar may sit still for several minutes during the download, that's normal, not a freeze. It's done only when it shows "Installation Complete" with a Finish button, leave the window open until then.
  6. Launch the Kivun Terminal desktop shortcut → pick a folder (browse the tree or paste a Windows path), or right-click any folder in File Explorer → Open with Kivun Terminal.
If something goes wrong: WSL not installed / SAC blocks / SmartScreen warning
  • WSL2 missing. If the wizard says "WSL is not installed", open Terminal (Admin), run wsl --install, reboot, and re-run the installer. You only do this once per machine.
  • SmartScreen warning ("Windows protected your PC"): click More infoRun anyway. The installer is code-signed by its verified publisher, but a brand-new signature still builds Microsoft's reputation signal over time, so the warning can appear for a while and fades as real downloads accumulate.
  • Smart App Control on Windows 11 (the harder block - "Smart App Control blocked an app that may be unsafe" with only an Ok button): SAC is very strict and may still block a newly signed app until it earns reputation. Open Start → search Smart App Control → set it to Off. SAC cannot be re-enabled without reinstalling Windows, so leave it off only if you're comfortable running other apps this way.
  • Still stuck? Send a 1-click report. Download kivun-diagnostics.cmd from the latest release (or open "Kivun Diagnostics" from the Start menu if it installed) and double-click it. It saves Kivun-Report.txt to your Desktop - email it to noambbb@gmail.com. No admin, nothing sent automatically.

Linux

git clone https://github.com/noambrand/kivun-terminal-wsl.git
cd kivun-terminal-wsl
./linux/install.sh

Supports apt (Debian/Ubuntu), dnf (Fedora/RHEL), pacman (Arch/Manjaro), zypper (openSUSE). Installs Konsole, Node.js, Git, Claude Code, the BiDi wrapper, and right-click integrations for Nautilus + Dolphin.

macOS

Not supported as of v1.2.4. No native macOS terminal renders mixed Hebrew + English correctly today (Apple Terminal lacks a BiDi engine, iTerm2 3.6.x mirrors Hebrew, WezTerm's bidi_enabled is half-broken in mixed scripts). For Hebrew work on Mac, use a Windows or Linux machine. Full context, evidence, and uninstall instructions in mac/README.md. Existing v1.2.x Mac users can still download the deprecated .pkg from the v1.2.3 release for rollback purposes.

First run on Windows or Linux requires a Claude Pro/Max subscription or an Anthropic API key.

🆘 Something not working?

First launch is slow: the very first time you open Kivun, the window can take about 10–15 seconds to appear (it sets up the Hebrew renderer and starts Claude). That's normal — please wait a few seconds before assuming anything's wrong.

Window is blank or only in the taskbar? Open the Start menu → "Repair Kivun Display" (one click). It restarts the part of Windows that draws Linux windows, then open Kivun again. No commands to type — the installer also does this for you at the end of setup, so you usually never need it.

Send us a report (1 minute)

If that didn't help, or you see an error, please send us a small report. It tells us what went wrong on your computer so we can fix it fast. This helps far more than describing what you saw, and it is the quickest way to get it solved.

If an error appeared, the report opens by itself — you don't have to do anything. Otherwise, click Start (the Windows button), type Kivun Diagnostics, and press Enter.

Then it's just drag‑and‑drop:

  1. A file called Kivun-Report.txt is saved to your Desktop and opens on screen.
  2. A folder also opens with that file already highlighted — so you don't have to hunt for it.
  3. Drag the highlighted file into either:

Nothing is sent on its own — you're in control. That's it; we'll take it from there.

Status Bar

A two-line live status bar at the bottom of every Claude Code session - the same statusline.mjs ships in all three installers and registers into ~/.claude/settings.json automatically:

MyProject | 🟢 Sonnet 4.6 | Context 🟩🟩🟩🟩🟩⬜⬜⬜⬜⬜ 51% | tokens: 284K | 24:13

Session 🟨🟨🟨🟨🟨🟨🟨🟨⬜⬜ 77% resets in 4h15m  |  Weekly 🟩🟩⬜⬜⬜⬜⬜⬜⬜⬜ 16% resets in 6d18h

Field What it shows
Model Active Claude model (color-coded: green = Opus, yellow = Sonnet/Haiku)
Context % of context window consumed (green/yellow/red)
Tokens Combined input + output across the whole session, including sub-agents
Session / Weekly Usage limit % with countdown to reset

When do the numbers update? The bottom Session / Weekly bars come from Claude's rate-limit headers, which only arrive when Claude finishes a reply. So they refresh after each answer returns, not on a timer — a value is current as of the most recent response, and won't move while you're typing or reading. Tokens counts the whole session (sub-agents included) and grows as Claude works.

Voice Alerts

Short spoken clips so you don't have to watch the screen, registered into ~/.claude/settings.json automatically and on by default — each tied to the moment that actually means it:

Alert Plays when Event
done Claude has genuinely finished — nothing left to do on-demand (Claude runs it)
permission A genuine allow this tool? request (a file edit, a command) PermissionRequest — real tool permissions only; question boxes & plan approval play waiting instead
waiting Claude has been waiting on you (~60s idle), or a question / plan-approval prompt is up Notification (idle) + reclassified prompts
save Manual intervention — act by hand on-demand

Regular or Funny mode — every alert has a plain recording and a joke one (e.g. done: "Done." vs "Done. I'll pretend that took effort."). Switch with Regular Sounds ON / Funny Sounds ON or node ~/.claude/sounds/voice.js mode regular|funny. An optional repeat reminder (off by default) re-plays the waiting clip every couple of minutes once you've gone idle, until you respond.

Pure Node.js plus bundled .wav clips — no Python, no PowerShell. Toggle any time with node ~/.claude/sounds/voice.js on|off|mode <m>|repeat on|off|status, or the Sound ON/OFF / Regular/Funny Sounds ON launchers; settings live in ~/.claude/sounds/config.json (inside WSL).

Make it yours — write your own jokes, in any language. Every clip is a plain .wav in ~/.claude/sounds/regular/ and funny/. Record your own punchlines, or clips in Hebrew, Arabic, or any language, and drop them in as done.wav, permission.wav, waiting.wav, or save.wav. Full how-to in sounds/README.md.

Turn all voice alerts off (one global switch)

The on/off setting is global — a single switch for every project, every folder, and every window. It is not per-project and not per-profile. Turning it off silences all of it: the four alerts and the repeat reminder.

Two ways to do it, no commands needed:

  1. In the launcher's picker — open Kivun Terminal's launcher, expand Advanced options → 🔊 Sound alerts, and set Sounds: Off. It saves the instant you click, so you can just close the window; you don't have to start a session.
  2. Double-click Sound OFF.cmd in the sounds folder inside your WSL home (~/.claude/sounds).

When does it take effect? Immediately — in every window that's already open, with no restart. (The setting is re-read before every sound, so the very next alert obeys it.) It also survives updates and reinstalls, so once it's off it stays off until you set it back to On the same way. Nothing is removed or uninstalled — it's a reversible switch. Because Kivun runs in WSL, the picker writes this setting through wsl -d Ubuntu, so it applies to every WSL Claude session.

WSL/Linux note: Kivun runs Claude Code inside WSL, where audio is best-effort (paplay/aplay via WSLg) and stays silent if no audio bridge is present. The hooks and controls install regardless; full Windows-from-WSL playback is a planned follow-up. On macOS and native Linux desktops the clips play normally.

Terminal Theme

A custom light-blue Kivun color scheme (#C8E6FF background, dark text, blue cursor) ships with every installer and is enabled by default:

Platform What gets configured File
Windows (WSL+Konsole) KivunTerminal.profile + ColorSchemeNoam.colorscheme ~/.local/share/konsole/ (WSL)
Linux (Konsole) Same profile + color scheme ~/.local/share/konsole/

Change it in the folder picker's Advanced options, or via TERMINAL_COLOR= in your config: a named theme (kivun, dark, black, white), default to keep the terminal emulator's own theme, or any custom hex color such as TERMINAL_COLOR=#1e1e2e. The text color is chosen automatically for readability. Apply now regenerates the Konsole scheme so a new tab (Ctrl+Shift+T) shows the color right away; the already-open window keeps its color until you relaunch (close all open Kivun windows first).

Terminal Font (Hebrew-friendly)

Kivun ships Miriam Mono CLM at size 12 by default: a Hebrew-first monospace whose Hebrew glyphs fill the cell tightly, so Hebrew reads cleanly without big gaps between letters. If Miriam Mono CLM isn't installed, it falls back to FreeMono. You can change the font or size any time, right inside the terminal.

To change the font (in the Kivun / Konsole window):

  1. Open the menu — the ☰ button in the top-right corner (or press Ctrl+Shift+M to show the menu bar).
  2. Edit Current ProfileAppearance tab → Select Font.
  3. Pick a font and size (e.g. Miriam Mono CLM, 12) → OKOK.

Fonts that render Hebrew well (no gaps):

Font How to get it Notes
Miriam Mono CLM ships with the installer (fonts-culmus) Kivun's default, Hebrew-first design, the nicest Hebrew, plainer Latin
FreeMono ships with the installer (fonts-freefont-ttf) Automatic fallback, tight Hebrew, broad coverage
Liberation Mono usually already installed Good Hebrew, Courier-like Latin
Cascadia Mono sudo apt install fonts-cascadia-code (Ubuntu 24.04+) Matched Hebrew/Latin stroke weights

Avoid for Hebrew: DejaVu Sans Mono and Noto Sans Mono — their Hebrew letters sit narrow in the monospace cell, so words look split apart (e.g. קריפטו appears as separated letters). Full reference: docs/FONTS.md.

Copy, paste & colors

  • Copy/paste: select text and press Ctrl+Shift+C to copy, Ctrl+Shift+V to paste (or right-click → Copy / Paste). Plain Ctrl+C does not copy in a terminal — it interrupts the running command. Copied Hebrew keeps its correct logical order, so it pastes cleanly into any editor.
  • Colored words in Claude's replies (bold, headings, code, file/folder names) are normal markdown formatting, not a rendering bug.

BiDi Wrapper

v1.1.0 ships a kivun-claude-bidi Node.js wrapper that pipes Claude Code's output through a state machine doing seven complementary fixes for known Konsole BiDi limitations. Every fix here was added in response to a specific user-visible Hebrew rendering bug; cumulatively they make Hebrew/English mixed terminal output behave the way <bdi> makes it behave in HTML.

Fix What it does Solves Default
RLE/PDF bracketing of Hebrew runs in LTR paragraphs Wraps every Hebrew run in U+202B / U+202C only when the surrounding paragraph is LTR Hebrew embedded in English needs an explicit direction marker; otherwise BiDi sees Hebrew chars as just another part of the LTR flow on
Line-start RLM injection Inserts U+200F at the start of any line whose first strong char is RTL Fixes Claude's ● שלום first-line LTR bug (anthropics/claude-code#39881) on
Bullet-strip (v1.1.8) Removes the leading from Hebrew bullet lines so the line's first visible char is Hebrew Konsole 23.x classifies as a direction-anchoring neutral; without strip, lines stay LTR even with line-start RLM on
Strip-incoming bidi controls (v1.1.9) Strips embedding (U+202AU+202E) and isolate (U+2066U+2069) marks from Claude's stream; preserves LRM/RLM Stops upstream-emitted bidi controls from compounding with wrapper-injected RLM and producing nondeterministic positioning auto
Flatten colors on RTL lines (v1.1.10) Strips ANSI SGR (CSI...m) sequences from any line whose first strong char is Hebrew so the line is one attribute run Konsole's BiDi only runs within continuous-attribute regions; color changes split the BiDi run and Qt mispositions the resulting fragments on
No per-run RLE/PDF on RTL lines (v1.1.11) When the line is already RTL via line-start RLM, skip per-Hebrew-run RLE/PDF brackets - let UAX #9 handle direction across the whole single-attribute line Per-run brackets themselves act as attribute-region boundaries; on lines with multiple Hebrew runs separated by LTR runs, they recreated the same misposition v1.1.10 was supposed to fix off
Cursor-forward → space replacement on RTL lines (v1.1.16, user-confirmed working April 2026) Replaces each \x1b[NC cursor-forward CSI with N literal space characters on RTL lines. Visually identical (cursor moves over presumed-blank cells; spaces write to those same cells) but no attribute-region boundary Claude Code's TUI uses cursor-forward escapes instead of literal spaces between every word - confirmed via KIVUN_BIDI_DUMP_RAW=on capture showing 306 cursor-forward CSIs in one short Hebrew session. Each one was splitting Konsole's BiDi run the same way SGR colors did, just invisibly. v1.1.10 caught the visible color splitters; v1.1.16 catches the invisible cursor-forward splitters on (gated on the same KIVUN_BIDI_FLATTEN_COLORS_RTL flag)

Why this isn't fixable upstream: Konsole has no real BiDi engine - it hands continuous-attribute regions to Qt's text layout, and Qt has no idea where a colored, bracketed, or cursor-positioned fragment logically belongs in the surrounding RTL paragraph. This is documented at terminal-wg.pages.freedesktop.org and was empirically confirmed via April 2026 A/B tests on Konsole 23.08.5. KDE has shown no signs of changing it; the wrapper's job is to give Konsole exactly what it can render correctly: a single attribute run per RTL line.

Trade-offs:

  • v1.1.10 flatten loses syntax color on Hebrew lines. Set KIVUN_BIDI_FLATTEN_COLORS_RTL=off to keep colors at the cost of broken positioning. (v1.1.16 cursor-forward replacement is gated on the same flag, so opting out of color-flatten also opts out of cursor-forward replacement.)
  • v1.1.11 no-bracket is the cleaner path; if you preferred the legacy v1.1.0–v1.1.10 behavior set KIVUN_BIDI_BRACKET_RTL_RUNS=on.

The "look for invisible CSI splitters" debugging pattern (v1.1.16 lesson learned, also captured in docs/TROUBLESHOOTING.md): when a wrapper-rendered terminal output looks wrong even though all visible escapes (colors, RLE/PDF) are stripped, look for invisible CSI sequences acting as attribute-region boundaries. Cursor-forward (...C), cursor-back (...D), set/reset mode (...h/...l) all qualify. Turn on KIVUN_BIDI_DUMP_RAW=on and inspect ~/.local/state/kivun-terminal/bidi-raw-dump.bin - anything that looks like text in the dump but is actually an escape sequence is a candidate splitter.

Toggle the wrapper itself via KIVUN_BIDI_WRAPPER=on|off in your config. Each individual fix has its own toggle (KIVUN_BIDI_STRIP_BULLET, KIVUN_BIDI_STRIP_INCOMING, KIVUN_BIDI_FLATTEN_COLORS_RTL, KIVUN_BIDI_BRACKET_RTL_RUNS). Test coverage as of v1.1.16: 87 injector unit fixtures + end-to-end smoke against a fake-claude stand-in via node-pty.

What it guarantees: the wrapper holds mixed-line run ordering, non-substitution of arrows/box-drawing characters, streaming-safe chunk handling, and input passthrough for live Hebrew editing. See kivun-claude-bidi/README.md for details. For the Claude desktop app (a different surface), liorshaya/claude-desktop-rtl is a separate DOM/CSS-based tool.

Tech Stack

Component Technology Purpose
Windows installer NSIS Per-user install with WSL/Ubuntu/Konsole bootstrap
Linux installer Bash + apt/dnf/pacman/zypper Distro-aware package install + user-home deploy
BiDi wrapper Node.js + node-pty Pipes Claude output through Unicode RLE/PDF/RLM state machine
Konsole profile KDE Konsole .profile + .colorscheme Light-blue Kivun theme + BidiEnabled=true
Language map Shared payload/languages.sh 23-language --append-system-prompt map sourced by all launchers
CI/CD GitHub Actions Automated Windows .exe + Linux .tar.gz builds on tag

Configuration

Per-platform config files (same schema across all three):

Platform Path
Windows %LOCALAPPDATA%\Kivun-WSL\config.txt
Linux ~/.config/kivun-terminal/config.txt
RESPONSE_LANGUAGE=hebrew         # 23+ languages supported
TEXT_DIRECTION=rtl               # rtl or ltr
KIVUN_BIDI_WRAPPER=on            # on (default) or off
FOLDER_PICKER=true               # show the picker dialog from the desktop shortcut
CLAUDE_FLAGS=                    # default Claude flags applied to every launch

Default Claude flags

CLAUDE_FLAGS is appended to every claude invocation Kivun starts - so you can pin model selection, conversation continuation, etc. without typing flags every time. Example:

CLAUDE_FLAGS=--model opus --continue

The full reference of supported flags (sourced from claude --help, ~25 options) lives at the bottom of config.txt itself for easy lookup. Common ones:

Flag What it does
--model opus force Claude Opus for this session (instead of the default)
--model sonnet force Claude Sonnet
--continue resume the most recent conversation in this folder
--resume open the conversation picker and pick which past chat to resume
--dangerously-skip-permissions skip the per-tool permission prompts (use with care)
--append-system-prompt "..." add custom instructions to the system prompt

You can also edit CLAUDE_FLAGS from inside the folder picker dialog - click Edit Default Flags to open config.txt in Notepad, edit, save, then launch.

See docs/CHANGELOG.md for the full list of supported languages and config keys.

Contributing

Contributions welcome. Areas where help is especially useful:

  • Wayland keyboard toggle - setxkbmap is X11-only; Wayland needs DE-specific layout switching (KWin: qdbus org.kde.keyboard, GNOME: gsettings input-sources, Sway: per-config). No CI for Wayland; needs a contributor with the hardware.
  • More RTL language coverage - N'Ko, Adlam, Mandaic, Samaritan, and a few others currently fall back to Hebrew xkb layouts. PRs adding entries to payload/languages.sh welcome.
  • Konsole 25.x bring-up - the BiDi wrapper's RLE/PDF/RLM workarounds were tuned against Konsole 23.08 and re-validated on 24.x. If you're on a 25.x preview and see Hebrew misrendering, file an issue with KONSOLE_VERSION + a paste of the broken line.
  • Pacman / zypper installer paths - Arch / openSUSE branches in linux/install.sh are written but only manually tested. CI covers apt (Ubuntu 24.04) and dnf (Fedora 40) automatically; pacman/zypper are field-tested only.

What CI already covers

Surface Tested by CI Workflow
apt installer + Konsole 24.x + node-pty (glibc 2.39) build-linux.yml (ubuntu-latest container)
dnf installer + Konsole 24.x + node-pty (Fedora gcc) build-linux.yml (fedora:40 container, added v1.4.8+)
Windows + WSL2 Ubuntu launcher path validate-launcher-windows.yml
BiDi wrapper unit suite (36 fixtures, capability detection, smoke vs fake-claude) both above
Wayland / multi-DE / Konsole 25.x / pacman / zypper needs manual contributor testing

Fork the repo, make your changes, and open a PR.

🤝 Related projects in the RTL-for-AI-tools community

Six independent developers each built userland RTL fixes for the AI-tooling stack. The fact that all of us had to ship our own fix is itself a comment on how overdue the upstream BiDi work is:

  • Adaptive-RTL-Extension by Lidor Mashiach - generic browser extension with click-to-select RTL for any website, including LLM chat UIs (Claude.ai, ChatGPT, Gemini, etc.).
  • Claude.ai RTL Support (Chrome extension) - Chrome extension purpose-built for Claude.ai specifically. Lighter than the generic adaptive one if you only need RTL on Claude's web UI.
  • rtl-for-vs-code-agents by Guy Ronnen - VS Code extension covering Claude Code, Cursor, Antigravity, and Gemini Code Assist in the VS Code webview layer.
  • Claude Code RTL Support by Yechiel Bar-Yehuda - VS Code / Cursor / Antigravity extension purpose-built for the official Claude Code IDE plugin. 6,700+ installs (4.6K+ Open VSX / 2.1K+ VS Marketplace). Complementary to Guy Ronnen's broader webview fix above - pick this one if you specifically live inside the Claude Code IDE panel.
  • Claude-for-word-RTL-fix by Asaf Aizone - Hebrew/Arabic RTL fix for the Claude for Word (Desktop) add-in.
  • kivun-terminal-wsl (this repo) - terminal-layer fix: a kivun-claude-bidi Node wrapper for Claude Code's TUI output, plus a one-click installer for WSL2+Konsole on Windows or Konsole on Linux. (macOS deprecated as of v1.2.4 - see mac/README.md.)

The surfaces (generic browser DOM, Claude.ai web UI, VS Code / IDE webview, Microsoft Word, terminal) are largely disjoint - pick the one that matches where you're hitting the BiDi problem.

עברית

💡 עובדים רק באנגלית (LTR)? הציצו בפרויקט האח ClaudeCode Launchpad CLI - אותו קונספט שיגור, אתחול מהיר יותר (~2 שניות), בלי WSL. כיוון טרמינל מתאים כשצריך תמיכת RTL/BiDi בעברית, ערבית, פרסית וכד'.

🎯 מה זה?

כיוון טרמינל היא חבילת התקנה ושיגור עבור Claude Code עם תמיכה מלאה ב-RTL. רץ על Windows (דרך WSL2 + Konsole) ו-Linux. הוא פותר את בעיית הצגת עברית/ערבית/פרסית/אורדו ועוד 7 שפות RTL ב-CLI של Claude Code, שלא נתמכות כראוי כברירת מחדל בטרמינלים מודרניים.

⚠️ תמיכת macOS הוסרה ב-v1.2.4. אין כיום אמולטור טרמינל ב-macOS שמציג עברית+אנגלית מעורבת בצורה תקינה (Apple Terminal חסר מנוע BiDi, iTerm2 3.6.x מהפך עברית, BiDi של WezTerm חצי-שבור). למשתמשי Mac שצריכים עברית - השתמשו ב-Windows או Linux. פרטים והוראות הסרה ב-mac/README.md.

כיוון מתקין את Claude Code, מקנפג את הטרמינל לפרופיל המתאים, ומעביר את הפלט של Claude דרך wrapper ייעודי (kivun-claude-bidi) שמטפל בבעיות הכיוון של עברית - כולל הבאג המעצבן שגרם לשורה הראשונה בכל תגובה להופיע מיושרת לשמאל.

✨ במה זה שונה?

  • לעומת Claude Code ב-Windows Terminal: ל-Windows Terminal אין מנוע BiDi כלל; כל פלט עברי מוצג LTR וקרוס. כיוון מריץ את הפלט דרך WSL2 + Konsole, שכן יש לה מנוע BiDi מלא.
  • לעומת Claude Code ב-VS Code: כיוון הוא לטרמינל, לא ל-IDE. אם אתם עובדים בעיקר משורת פקודה - זה מה שאתם רוצים. למי שעובד מ-IDE יש פתרון נפרד של גיא רונן (ראו פרויקטים קשורים למטה).
  • לעומת Claude Desktop: Desktop הוא בעיקר ממשק צ'אט - לא עובד בפועל על הקבצים בפרויקט שלכם. בחרו ב-Desktop לשאלות מהירות וצ'אט. בחרו בכיוון כשאתם רוצים ש-Claude יעבוד אמת בפרויקט (יפתח קבצים, יערוך, יריץ פקודות) - ובמיוחד אם התוכן כולל עברית או RTL.
  • לעומת אפליקציות הצ'אט של Claude (Claude.ai בדפדפן ואפליקציית המובייל לאייפון/אנדרואיד): ממשקי הצ'אט הם שיחה בלבד - לא יכולים לקרוא קבצים מהמחשב שלכם, להריץ פקודות, או לערוך קוד בפועל. בחרו בצ'אט לשאלה מהירה ובודדת; בחרו ב-Claude Code (ובכיוון, לעבודה בעברית/RTL) כשרוצים assistant שעובד אמת בפרויקט שלכם - קורא קבצים, מריץ tests, ועושה commits.

🚀 פיצ'רים

  • ✅ הצגה תקינה של עברית/ערבית/פרסית/אורדו ועוד 7 שפות RTL בפלט של Claude Code
  • ✅ תיקון לבאג של השורה הראשונה (● שלום היה מופיע משמאל לימין; עכשיו מימין לשמאל)
  • ✅ פרופיל Konsole בצבעי Kivun (תכלת בהיר, נעים לעין)
  • ✅ סטטוסליין חי בתחתית המסך (מודל פעיל, אחוז קונטקסט, מגבלות שימוש)
  • ✅ קיצור דרך לשולחן העבודה + תפריט קליק ימני על תיקיות
  • ✅ Folder picker - דיאלוג אחד: עיון בעץ התיקיות או הקלדה/הדבקה של נתיב באותו חלון
  • 🆕 פרופילים בעלי שם לפי פרויקט (v1.4.0) - שמירת תיקייה + מודל + flags + פקודות slash + משתני סביבה לכל פרויקט. שורת הצ'יפים בראש החלון מאפשרת מעבר בין פרופילים בקליק אחד; הפרופיל הפעיל מודגש בכחול. משתני הסביבה לכל פרופיל (כמו ANTHROPIC_API_KEY) עוברים דרך WSLENV ל-WSL ומגיעים ל-Claude Code. ערכים מוסתרים בתצוגה כברירת מחדל - בטוח לצילום מסך.
  • ✅ Alt+Shift להחלפה בין עברית לאנגלית בתוך הטרמינל
  • ✅ נתמך על Windows ו-Linux (apt/dnf/pacman/zypper). תמיכת macOS הוסרה ב-v1.2.4 - ראו mac/README.md

📥 התקנה

הוראות ההתקנה מפורטות באנגלית בקטעי Quick Start למעלה. הפקודות (npm install, נתיבים וכד') זהות בכל השפות ולא תורגמו.

⚠️ Windows - התקינו בדיוק בסדר הזה. רוב התקלות נובעות מדילוג על שלב 1 (הפעלה כמנהל).
  1. מורידים את Kivun_Terminal_Setup.exe.
  2. קליק ימני על הקובץ ← Run as administrator (הפעל כמנהל). לא דאבל-קליק רגיל. כך WSL מותקן בפעם אחת - התקלה הנפוצה ("WSL install not started") היא פשוט דילוג על שלב זה.
  3. אם נפתח חלון שחור שמבקש ליצור משתמש Ubuntu: הקלידו שם משתמש באותיות קטנות באנגלית, בלי רווחים, Enter, ואז סיסמה פעמיים. הסיסמה לא מופיעה על המסך בזמן ההקלדה - זה תקין, פשוט הקלידו.
  4. אם מבקשים לאתחל - אתחלו, ואז הריצו שוב את אותו קובץ עם קליק ימני ← Run as administrator.
  5. ההתקנה לוקחת בערך 5 עד 15 דקות. הפס עלול לעמוד במקום כמה דקות בזמן ההורדה, וזה תקין (לא תקיעה). ההתקנה הסתיימה רק כשמופיע "Installation Complete" עם כפתור Finish, אל תסגרו עד אז.
  • Linux: git clone + ./linux/install.sh. תומך ב-apt/dnf/pacman/zypper.
  • macOS: לא נתמך מ-v1.2.4 ואילך - ראו mac/README.md.
Windows 11 - Smart App Control חוסם את ההתקנה. אם רואים "Smart App Control blocked an app that may be unsafe" בלי כפתור עקיפה - SAC לא מאפשר אפליקציות לא חתומות בכלל. כדי להתקין: פותחים Start ← מחפשים Smart App Control ← מעבירים ל-Off. אי אפשר להפעיל מחדש את SAC בלי התקנה מחדש של Windows, אז להשאיר Off רק אם זה בסדר עבורכם להריץ אפליקציות לא חתומות אחרות. אחרי שמכבים את SAC, ייתכן שעדיין תופיע אזהרת SmartScreen "Windows protected your PC" - לוחצים More info ואז Run anyway.

🆘 משהו לא עובד?

ההפעלה הראשונה איטית: בפעם הראשונה שפותחים את Kivun, ייתכן שהחלון ייקח בערך 10 עד 15 שניות להופיע (הוא מכין את מנוע העברית ומפעיל את Claude). זה תקין - חכו כמה שניות לפני שמניחים שמשהו תקוע.

החלון ריק או רק בשורת המשימות? פותחים את תפריט Start ← "Repair Kivun Display" (לחיצה אחת). זה מפעיל מחדש את החלק ב-Windows שמצייר חלונות של לינוקס, ואז פותחים שוב את Kivun. בלי להקליד שום פקודה - גם ההתקנה עושה את זה בשבילכם בסוף, אז בדרך כלל לא תצטרכו את זה בכלל.

שליחת דוח (דקה אחת)

אם זה לא עזר, או שמופיעה שגיאה - שלחו לנו דוח קטן. הוא מספר לנו מה בדיוק קרה במחשב שלכם, כדי שנוכל לתקן מהר. זה עוזר הרבה יותר מאשר לתאר מה ראיתם, וזו הדרך הכי מהירה לפתור את הבעיה.

אם הופיעה שגיאה, הדוח נפתח לבד - אתם לא צריכים לעשות כלום. אחרת, לוחצים על Start (כפתור Windows), מקלידים Kivun Diagnostics ולוחצים Enter.

ואז זו פשוט גרירה:

  1. קובץ בשם Kivun-Report.txt נשמר על שולחן העבודה ונפתח על המסך.
  2. גם נפתחת תיקייה כשהקובץ כבר מסומן - כדי שלא תצטרכו לחפש אותו.
  3. גוררים את הקובץ המסומן אל אחד מאלה:
    • מייל אל noambbb@gmail.com, או
    • פוסט חדש ב-GitHub Issues

שום דבר לא נשלח לבד - אתם בשליטה. זהו, אנחנו נמשיך מכאן.

📊 סטטוסליין

סטטוסליין חי בשתי שורות בתחתית כל סשן Claude Code - אותו statusline.mjs מותקן בכל ההתקנות (Windows / Linux) ונרשם אוטומטית ב-~/.claude/settings.json:

MyProject | 🟢 Sonnet 4.6 | Context 🟩🟩🟩🟩🟩⬜⬜⬜⬜⬜ 51% | tokens: 284K | 24:13

Session 🟨🟨🟨🟨🟨🟨🟨🟨⬜⬜ 77% resets in 4h15m  |  Weekly 🟩🟩⬜⬜⬜⬜⬜⬜⬜⬜ 16% resets in 6d18h

שדה מה זה מציג
מודל המודל הפעיל של Claude (צבעים: ירוק = Opus, צהוב = Sonnet/Haiku)
קונטקסט אחוז חלון הקונטקסט שנוצל (ירוק/צהוב/אדום)
טוקנים סכום קלט + פלט לכל הסשן, כולל סוכני משנה
Session / Weekly אחוז מגבלת השימוש עם ספירה לאיפוס

מתי המספרים מתעדכנים? הפסים התחתונים (Session / Weekly) מגיעים ממגבלות השימוש שבכותרות התשובה של Claude, ולכן הם מתעדכנים רק כש-Claude מסיים תשובה, לא לפי טיימר. כלומר הערך מדויק נכון לתשובה האחרונה, והוא לא יזוז בזמן שאתם מקלידים או קוראים. טוקנים סופר את כל הסשן (כולל סוכני משנה) וגדל תוך כדי העבודה.

🔔 התראות קוליות

קטעי קול קצרים כדי שלא תצטרכו להסתכל על המסך, נרשמים אוטומטית ב-~/.claude/settings.json ופעילים כברירת מחדל, כל אחד קשור לאירוע שבאמת מתאר אותו:

התראה מתי מתנגנת אירוע
done Claude באמת סיים, אין יותר מה לעשות לפי דרישה (Claude מפעיל אותו)
permission בקשת הרשאה אמיתית להפעלת כלי (עריכת קובץ, הרצת פקודה) PermissionRequest, רק הרשאות כלי אמיתיות. תיבות שאלה ואישור תוכנית מנגנים waiting במקום
waiting Claude ממתין לכם (כ-60 שניות ללא פעילות), או שמופיעה שאלה / אישור תוכנית Notification (idle) ובקשות שסווגו מחדש
save התערבות ידנית - לעשות משהו בידיים לפי דרישה

מצב רגיל או מצחיק - לכל התראה יש הקלטה רגילה והקלטת בדיחה (למשל done: "Done." מול "Done. I'll pretend that took effort."). מחליפים עם Regular Sounds ON / Funny Sounds ON או node ~/.claude/sounds/voice.js mode regular|funny. אפשר גם תזכורת חוזרת (כבויה כברירת מחדל) שמשמיעה שוב את קטע ה-waiting כל כמה דקות אחרי שהפסקתם להגיב, עד שתגיבו.

Node.js בלבד עם קטעי .wav מצורפים - בלי Python, בלי PowerShell. אפשר להדליק ולכבות בכל רגע עם node ~/.claude/sounds/voice.js on|off|mode <m>|repeat on|off|status, או עם קובצי Sound ON/OFF / Regular/Funny Sounds ON. ההגדרות נמצאות ב-~/.claude/sounds/config.json.

שיהיה שלכם, כתבו בדיחות משלכם, בכל שפה. כל קטע הוא קובץ .wav פשוט בתוך ~/.claude/sounds/regular/ ו-funny/. הקליטו שורות משלכם, או קטעים בעברית, בערבית או בכל שפה, והכניסו אותם בשמות done.wav, permission.wav, waiting.wav או save.wav. הסבר מלא ב-sounds/README.md.

הערה ל-WSL/לינוקס: Kivun מריץ את Claude Code בתוך WSL, ושם השמע הוא מאמץ-מיטבי (paplay/aplay דרך WSLg) ונשאר שקט אם אין גשר שמע. ההוקים והפקדים מותקנים בכל מקרה, והשמעה מלאה מ-WSL ל-Windows מתוכננת בהמשך. ב-macOS ובלינוקס שולחני הקטעים מתנגנים כרגיל.

כיבוי כל ההתראות הקוליות (מתג אחד, גלובלי)

הגדרת ההדלקה/כיבוי היא גלובלית: מתג אחד לכל הפרויקטים, כל התיקיות וכל החלונות. זו אינה הגדרה נפרדת לכל פרויקט ולא לכל פרופיל. כיבוי משתיק את הכול: ארבע ההתראות וגם התזכורת החוזרת. שתי דרכים, בלי שום פקודה:

  1. מתוך הפיקר של המשגר: פותחים את המשגר של Kivun, פותחים Advanced options → 🔊 Sound alerts, ומעבירים את Sounds ל-Off. ההגדרה נשמרת ברגע הלחיצה, אפשר פשוט לסגור את החלון, אין צורך להתחיל סשן.
  2. לחיצה כפולה על Sound OFF.cmd בתיקיית sounds שבתוך בית ה-WSL (~/.claude/sounds).

מתי זה נכנס לתוקף? מיד, בכל חלון שכבר פתוח, בלי להפעיל מחדש. ההגדרה נקראת מחדש לפני כל צליל, כך שההתראה הבאה כבר תכבד אותה. הכיבוי גם שורד עדכונים והתקנות מחדש, כך שברגע שכיביתם הוא נשאר כבוי עד שתחזירו ל-On באותה דרך. שום דבר לא נמחק ולא מוסר, זהו מתג הפיך. כיוון ש-Kivun רץ בתוך WSL, הפיקר כותב את ההגדרה דרך wsl -d Ubuntu, כך שהיא חלה על כל סשן של Claude ב-WSL.

🎨 ערכת נושא לטרמינל

ערכת צבעים בתכלת בהיר של Kivun (#C8E6FF ברקע, טקסט כהה, סמן כחול) מותקנת אוטומטית ומופעלת כברירת מחדל:

פלטפורמה מה מותקן קובץ
Windows (WSL+Konsole) KivunTerminal.profile + ColorSchemeNoam.colorscheme ~/.local/share/konsole/ (בתוך WSL)
Linux (Konsole) אותו פרופיל וערכת צבעים ~/.local/share/konsole/

לשנות את צבע הרקע: בחלון בחירת התיקייה תחת אפשרויות מתקדמות, או TERMINAL_COLOR= בקובץ ה-config — ערכה בשם kivun, dark, black, white, או default כדי להשאיר את ערכת הטרמינל שלכם, או צבע HEX משלכם כמו #1e1e2e. צבע הטקסט נבחר אוטומטית לקריאות טובה. כפתור Apply now מרענן את ערכת הצבעים כך שטאב חדש (Ctrl+Shift+T) מציג את הצבע מיד; החלון הפתוח שומר על צבעו עד הפעלה מחדש (סגרו קודם את כל חלונות כיוון). באותו מקום אפשר גם להגביל את הזיכרון ש-WSL תופס (נשמר ב-.wslconfig, נכנס לתוקף אחרי הפעלה-מחדש של WSL).

🔤 פונט הטרמינל (ידידותי לעברית)

ברירת המחדל היא Miriam Mono CLM בגודל 12 , פונט מונוספייס עברי שאותיות העברית בו ממלאות את התא היטב, כך שהעברית נקראת צמוד ובלי רווחים גדולים בין האותיות. אם Miriam Mono CLM לא מותקן, נעשה שימוש ב-FreeMono כברירת מחדל חלופית. אפשר להחליף פונט וגודל בכל רגע, ישר מתוך הטרמינל.

להחלפת הפונט (בחלון Kivun):

  1. פותחים את התפריט , כפתור ☰ בפינה הימנית למעלה (או Ctrl+Shift+M להצגת סרגל התפריט).
  2. Edit Current Profile ← לשונית AppearanceSelect Font.
  3. בוחרים פונט וגודל (למשל Miriam Mono CLM, 12) ← OKOK.

פונטים שמציגים עברית יפה (בלי רווחים):

פונט איך משיגים הערות
Miriam Mono CLM מותקן עם הקובץ (fonts-culmus) ברירת המחדל, עיצוב עברי, העברית הכי יפה
FreeMono מותקן עם הקובץ (fonts-freefont-ttf) ברירת מחדל חלופית, עברית צמודה וכיסוי רחב
Liberation Mono בדרך כלל כבר מותקן עברית טובה
Cascadia Mono sudo apt install fonts-cascadia-code משקלי קו תואמים לעברית ואנגלית

להימנע בעברית: DejaVu Sans Mono ו-Noto Sans Mono , אותיות העברית בהם צרות בתוך התא, אז המילים נראות מפורקות. פירוט מלא: docs/FONTS.md.

📋 העתקה, הדבקה וצבעים

  • העתקה/הדבקה: מסמנים טקסט ולוחצים Ctrl+Shift+C להעתקה, Ctrl+Shift+V להדבקה (או קליק ימני ← Copy / Paste). Ctrl+C רגיל לא מעתיק בטרמינל, אלא עוצר את הפקודה הרצה. העברית מועתקת בסדר הלוגי הנכון ונדבקת תקין בכל עורך.
  • המילים הצבעוניות בתשובות של Claude (מודגש, כותרות, קוד, שמות קבצים) הן עיצוב markdown רגיל, לא באג בתצוגה.

🧠 על תמיכת ה-RTL

ה-wrapper kivun-claude-bidi הוא מודול Node שמלפף סביב Claude Code. הוא מזהה רצפי טקסט בעברית בפלט ועוטף אותם בסימני BiDi של Unicode (RLE/PDF), כך שהם מוצגים בכיוון הנכון גם בטרמינלים שתמיכת ה-BiDi שלהם חלקית. בנוסף, הוא מחדיר RLM (U+200F) בתחילת כל שורה שהאות החזקה הראשונה שלה היא RTL - מה שמתקן את הבאג ב-Claude Code שבו ● שלום היה מופיע משמאל לימין במקום מימין לשמאל.

אופציונלי - עוקף לבעיית ה-bullet ב-Konsole 23.x: אם אתם על Konsole 23.x (ברירת המחדל ב-Ubuntu 24.04) ושורות bullet בעברית עדיין מופיעות LTR גם אחרי תיקון ה-RLM, ניתן להפעיל KIVUN_BIDI_STRIP_BULLET=on ב-config.txt (ברירת מחדל off). זה מסיר את ה- מתחילת שורות עבריות, כך שהתו הראשון הוא עברית וה-BiDi מתהפך אוטומטית. המחיר: הסימן נעלם מ-bullet-lines בעברית (רק ההזחה נשארת). Konsole 24.04+ אמור לפתור את זה ב-upstream.

לפירוט מלא של האלגוריתם, ראו docs/specs/BIDI_ALGORITHM.md. למעקב אחרי הבאג ב-upstream של Anthropic, ראו anthropics/claude-code#39881. אם אתם רוצים לתרום תיעוד עברי לריפו הזה, יש מדריך מעשי ב-docs/HEBREW_RTL_GITHUB.md על איך לכתוב עברית שתעבוד נכון ב-GitHub.

🧰 ערכת הכלים

רכיב טכנולוגיה מטרה
התקנה ל-Windows NSIS התקנה למשתמש בלבד עם בוטסטראפ של WSL/Ubuntu/Konsole
התקנה ל-Linux Bash + apt/dnf/pacman/zypper התקנת חבילות מודעת-distro + פריסה לבית המשתמש
BiDi wrapper Node.js + node-pty מעביר פלט Claude דרך מכונת מצבים של Unicode RLE/PDF/RLM
פרופיל Konsole KDE Konsole .profile + .colorscheme ערכת Kivun בתכלת + BidiEnabled=true
מפת שפות payload/languages.sh משותף מפת --append-system-prompt ל-23 שפות, נטענת על ידי כל המשגרים
CI/CD GitHub Actions בנייה אוטומטית של .exe ל-Windows + .tar.gz ל-Linux בכל tag

⚙️ קונפיגורציה

קובצי קונפיג לפי פלטפורמה (אותה סכמה ב-2):

פלטפורמה נתיב
Windows %LOCALAPPDATA%\Kivun-WSL\config.txt
Linux ~/.config/Kivun-Terminal/config.txt
RESPONSE_LANGUAGE=hebrew         # 23+ שפות נתמכות
TEXT_DIRECTION=rtl               # rtl או ltr
KIVUN_BIDI_WRAPPER=on            # on (ברירת מחדל) או off
AUTO_INSTALL_CLAUDE=yes          # yes (ברירת מחדל) / ask / no
CLAUDE_FLAGS=                    # למשל --continue

ראו docs/CHANGELOG.md לרשימה המלאה של השפות הנתמכות וכל מפתחות ה-config.

🤝 לתרום לפרויקט

מוזמנים לעזור. תחומים שעזרה בהם תהיה שימושית במיוחד:

  • מתג מקלדת ל-Wayland - setxkbmap עובד רק ב-X11; Wayland דורש החלפת layout ספציפית לסביבת השולחן (KWin: qdbus org.kde.keyboard, GNOME: gsettings input-sources, Sway: ב-config). אין CI ל-Wayland; דרוש contributor עם החומרה.
  • כיסוי שפות RTL נוספות - N'Ko, Adlam, Mandaic, Samaritan ועוד מספר שפות נופלות כרגע ל-fallback של מפת ה-xkb של עברית. PRs שמוסיפים ערכים ל-payload/languages.sh מתקבלים בברכה.
  • התאמה ל-Konsole 25.x - workarounds של ה-BiDi wrapper (RLE/PDF/RLM) כויילו מול Konsole 23.08 ואומתו מחדש על 24.x. אם אתם על preview של 25.x ורואים תקלות בהצגת עברית, פתחו issue עם KONSOLE_VERSION ושורת דוגמה.
  • התקנה דרך pacman / zypper - ענפי Arch / openSUSE ב-linux/install.sh כתובים אבל נבדקו רק ידנית. ה-CI מכסה apt (Ubuntu 24.04) ו-dnf (Fedora 40) אוטומטית; pacman ו-zypper נבדקים רק בשטח.

מה ה-CI כבר מכסה

סביבהנבדק ב-CIWorkflow
התקנת apt + Konsole 24.x + node-pty (glibc 2.39)build-linux.yml (ubuntu-latest)
התקנת dnf + Konsole 24.x + node-pty (gcc של Fedora)build-linux.yml (fedora:40 container, נוסף ב-v1.4.8+)
נתיב launcher של Windows + WSL2 Ubuntuvalidate-launcher-windows.yml
סוויטת unit-tests של ה-BiDi wrapper (36 fixtures + capability + smoke מול fake-claude)שני האזורים מעלה
Wayland / DEs נוספים / Konsole 25.x / pacman / zypperדורש בדיקה ידנית של contributor

עשו fork לריפו, בצעו את השינויים, ופתחו PR.

🤝 פרויקטים קשורים בקהילת RTL-for-AI-tools

שישה מפתחים עצמאיים בנו פתרונות RTL לסביבות השונות של ה-AI tooling. העובדה שכולנו נאלצנו לכתוב פתרון userland נפרד מעידה לבדה על כמה זמן זה כבר נדחה ב-upstream:

  • Adaptive-RTL-Extension מאת לידור משיח - הרחבת דפדפן גנרית עם click-to-select ל-RTL בכל אתר, כולל ממשקי צ'אט של מודלי שפה.
  • Claude.ai RTL Support (הרחבת Chrome) - הרחבה ל-Chrome ייעודית ל-Claude.ai. קלה יותר מהגנרית אם אתם צריכים RTL רק על ממשק הווב של Claude.
  • rtl-for-vs-code-agents מאת גיא רונן - הרחבה ל-VS Code עבור Claude Code, Cursor, Antigravity ו-Gemini Code Assist בשכבת ה-webview.
  • Claude Code RTL Support מאת יחיאל בר-יהודה - תוסף ייעודי ל-VS Code, Cursor ו-Antigravity, המעניק תמיכה ב-RTL לתוסף Claude Code הרשמי. 6,700+ התקנות (Open VSX Installs Visual Studio Marketplace Installs). משלימה את הפתרון של גיא רונן מלמעלה - בחרו את זו אם אתם עובדים בתוך פאנל Claude Code שב-IDE.
  • Claude-for-word-RTL-fix מאת אסף אייזון - תיקון RTL לעברית/ערבית עבור תוסף Claude ל-Microsoft Word (Desktop).
  • kivun-terminal-wsl (הפרויקט הזה) - תיקון בשכבת הטרמינל.

הסביבות (DOM של דפדפן גנרי, ממשק הווב של Claude.ai, webview של VS Code / IDE, Microsoft Word, טרמינל) נפרדות זו מזו ברובן - בחרו את הפתרון שמתאים למקום שבו אתם נתקלים בבעיית ה-BiDi.

License

MIT


Made by Noam Brand

GitHub LinkedIn Facebook Email

About

The only Claude Code terminal that renders Hebrew, Arabic, and Persian correctly. Mixed RTL+LTR text in their right place. One-click installer for Windows and Linux. Live status bar, Folder picker, Right-click launch, Named profiles, Flages. Zero-to-Claude-code

Topics

Resources

Stars

13 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages