Fix your writing without leaving your flow.
Kallilex is a tiny, local-first spell checker and AI rewriting utility for the macOS menu bar, Linux tray, and Windows notification area. Select text anywhere, press ⌥⌘K / Ctrl+Alt+K, spell-check offline or rewrite with your own AI — and put it right back.
Free & open source · Apache-2.0 · No accounts, no telemetry
macOS · Apple Silicon & Intel (universal) · Linux · x86_64 (.deb, .rpm, AppImage) · Windows 10 (21H2+)/11 · x86_64 (.exe)
Select anywhere. Summon with ⌥⌘K — or CtrlAltK on Linux and Windows.
Selected text from any app lands in a compact popover — at your menu bar on macOS, your tray on Linux, your notification area on Windows.
Offline. Native. Instant.
Native offline spell checking marks mistakes inline; click a word, pick a suggestion. Nothing ever leaves your device.
Rewrite with your model, not ours.
Rewrite, shorten, or improve clarity — or type a custom instruction. Works with any OpenAI-compatible endpoint: Ollama, LM Studio, llama.cpp, or the cloud if you choose.
You always know where your text goes.
A badge shows Local, LAN, or Cloud before any request runs. Replace never happens without your click. No accounts, no telemetry.
How it works
Select text in any app
Press ⌥⌘K (or CtrlAltK on Linux and Windows)
Fix or rewrite
Replace
Everything it needs, nothing it doesn't
Menu-bar native
A borderless popover, a global shortcut, and an app that lives in your menu bar on macOS, your tray on Linux, or your notification area on Windows — never in the Dock or taskbar.
Offline spell check
Powered by macOS's native NSSpellChecker, a Hunspell-compatible engine on Linux, or the Windows Spell Checking API on Windows, using your installed system languages.
Bring your own AI
Any OpenAI-compatible endpoint. Named provider profiles with presets for Ollama and LM Studio.
Privacy badge
Local, LAN, or Cloud — shown before every request, derived from the provider's base URL.
Explicit replace-back
Your clipboard is restored afterwards. Nothing is ever written back automatically.
Keys in the Keychain
API keys are stored in your system keychain — the macOS Keychain, the Secret Service (gnome-keyring/KWallet) on Linux, or Windows Credential Manager on Windows — and never touch a config file on disk.
FAQ
Why does Kallilex need the Accessibility permission?
Kallilex uses macOS's Accessibility API to read the text you have selected in the frontmost app when you press the hotkey. That's the only thing it's used for — a system prompt asks for the permission on first run, and you can revoke it any time in System Settings. On Linux there's no equivalent permission to grant for capture — X11 reads the current selection directly and Wayland needs none either; the only optional prompt is the paste-back permission for Replace on portal-capable Wayland compositors like GNOME and KDE, a portal dialog you can decline or turn off in Settings → General without losing capture or Copy. On Windows there is nothing to grant either: capture uses UI Automation and paste-back uses synthetic input, which any app may do — only programs running as administrator are off-limits to it.
Which AI providers and models work with Kallilex?
Any provider that exposes an OpenAI-compatible chat-completions endpoint — local or cloud. Presets are included for Ollama, LM Studio, and OpenAI, and you can point Kallilex at any custom base URL and model.
Does spell check work offline?
Yes. Spell check runs fully on-device through macOS's built-in NSSpellChecker, using your system's preferred languages. On Linux, the same check runs through a Hunspell-compatible engine (spellbook), reading your system's Hunspell dictionaries when present. On Windows it uses the built-in Windows Spell Checking API with the spell-check languages installed for your display languages. No network connection and no AI provider are needed for it.
Where does my text go?
Your text stays on your machine by default. Spell check is local, and an AI request is only sent when you explicitly trigger a rewrite — a badge shows whether your provider is Local, LAN, or Cloud before anything is sent. Kallilex has no telemetry and never logs your text.
Is Kallilex free?
Yes. Kallilex is free and open source under the Apache-2.0 license. There are no accounts, no subscriptions, and no cloud backend.
Install
Homebrew
brew tap lstoneyy/tap && brew install --cask kallilex
Coming soon — the Homebrew tap ships with the next release. Until then, grab the download on the right.
Direct download
Updating from v0.4.0 or earlier? Those builds were ad-hoc signed, so the old Accessibility grant is stale — run tccutil reset Accessibility com.webcommits.kallilex once, then grant the permission again.
Linux packages
sudo apt install ./Kallilex-*.deb
sudo dnf install ./Kallilex-*.rpm
chmod +x Kallilex-*.AppImage
Wayland support depends on your compositor's XDG portals; X11 is fully supported. Settings → Accessibility shows which capabilities are live on your session.
On GNOME, the tray icon needs the AppIndicator extension (gnome-shell-extension-appindicator) — without it the icon won't appear; that's the extension missing, not the app failing.
On Wayland, prefer the .deb or .rpm: the portal-bound global shortcut needs the desktop entry those packages install, which an AppImage cannot install — on X11 the AppImage is fully equivalent.
Windows installer
Unsigned build: on first run, Windows SmartScreen shows "Windows protected your PC" — click More info, then Run anyway. One time only.
Installs per-user, with no admin prompt.