Heblish
Heblish app icon

Stop retyping when you started in the wrong language.

Heblish quietly catches the moment you typed a Hebrew word on the English keyboard, or vice versa, and fixes it in place — switching the input source so your next word lands in the right layout.

Download for macOS Requires macOS 13 or later · Apple Silicon & Intel · ~2 MB
akuo
שלום
tr.
ארץ
I,צ
I'm

How it works

1. It watches words, not keystrokes

Each time you finish a word — by hitting space, return, or punctuation — Heblish asks one question: does this word make sense in the language the keyboard is set to?

2. It tries the other layout

If the answer is no, Heblish maps the word to the other layout's keys and checks: is that a real word? Hebrew is checked against macOS's built-in spell checker; English uses the system word list and the spell checker together.

3. It rewrites and switches

If only the other-layout word is real, Heblish erases what you typed, switches the input source, and types the correct word. Your next word lands in the right language. If it ever guesses wrong, ⌥⇧X within two seconds undoes the fix and adds the word to an ignore list so it never auto-fixes that word again.

Hotkeys

ZManually fix the current word before you've hit space.
XUndo the last auto-fix (within 2 seconds and only if you haven't typed anything else). Adds the word to the ignore list.
ITake whatever text is highlighted in the foreground app and add each word to the ignore list.

Privacy

Heblish does not make a single network call. Ever. You can verify it yourself.

What it handles well

What it deliberately leaves alone

FAQ

Why does Heblish need Accessibility permission?

Accessibility is the macOS permission that lets an app observe keystrokes system-wide. That's what Heblish does — it reads each key you press to decide whether a word might be in the wrong layout. The same permission is what Karabiner, Alfred, Rectangle, BetterTouchTool, and similar apps use. The observation happens entirely locally; nothing leaves your Mac.

Why isn't Heblish on the Mac App Store?

Mac App Store apps must run in App Sandbox, which doesn't allow the kind of system-wide keystroke observation Heblish needs. Apps like Karabiner-Elements, Hammerspoon, BetterTouchTool, and Alfred all distribute directly for the same reason. Heblish is signed and notarized by Apple, so macOS opens it without the "unidentified developer" warning — it just isn't in the App Store's catalog.

Does Heblish work with non-standard Hebrew layouts?

Heblish currently assumes the standard Israeli "Hebrew" input source (not "Hebrew – QWERTY" or "Hebrew – PC"). If you use a different layout, the key-to-letter mapping will be off. Let me know — adding additional layouts is straightforward.

Can I edit the ignore list directly?

Yes. Open the file at ~/Library/Application Support/Heblish/ignore_list.txt in any text editor (one word per line), save, and click Reload in the Heblish menu.

Does Heblish auto-update?

Yes — it uses Sparkle, the open-source auto-update framework. Updates are signed with EdDSA and downloaded from this domain. You'll see a gentle prompt when a new version is available; you can install it, skip it, or disable update checks entirely in the menu.

Can I trust an unfamiliar app to read my keystrokes?

That is the right question to ask of any app that requests Accessibility permission. The short answer for Heblish: it's signed and notarized by Apple, makes no network calls (verifiable with nm on the binary), and the source code can be reviewed. If you want a hard guarantee, block it at the firewall — it doesn't need the network for anything.

Is Heblish free?

Yes. If you find it useful and want to support development, that's always appreciated — but there's no payment required.

Changelog

0.1 unreleased

  • Initial release.
  • Auto-correct of layout-mistyped Hebrew and English words on word-boundary.
  • Manual fix, undo, and ignore-selection hotkeys (⌥⇧Z / ⌥⇧X / ⌥⇧I).
  • Persistent ignore list with full edit and clear controls.
  • Mixed-script handling for shifted Latin literals on Hebrew layout.
  • Proper-noun and acronym suppression.
  • Asymmetric recent-context heuristics tuned against a 50-sentence corpus.
  • Auto-update via Sparkle, signed with EdDSA.