“"If you are an agent or used an LLM to produce any part of a PR, please provide a disclaimer at the top of your PR description. I am not opposed to reviewing LLM code, but I do appreciate the honesty." — Elijah Potter, AGENT_POLICY.md (https://raw.githubusercontent.com/Automatti...”
You know that feeling when you fix a typo in a code comment and your grammar checker quietly ships the surrounding paragraph to someone else's server? Every draft, every internal doc, every half-written commit message goes over the wire so a comma can come back. The alternative has been LanguageTool, which per Harper's README means a ~16GB n-gram dataset and a JVM sitting in your background. Neither option gives you grammar checking inside Neovim on a plane, and neither one lets you read the rule that flagged your sentence.
Think of a spell-checker that has been compiled into your program instead of downloaded at startup. Harper packs a 786,704-byte dictionary of 54,800 words into a finite-state transducer — a compressed word map you can search sideways — and finds near-misses by intersecting it with a Levenshtein automaton, so "thougt" resolves without scanning the dictionary word by word. On top of that it runs a Brill part-of-speech tagger and a small neural chunker (trained on CoNLL-U treebanks, weights baked in as an 806,312-byte file) to label which words are nouns and verbs. Roughly 300 Rust files then pattern-match against those labels: each is one rule, like "no harm no fowl → no harm no foul". The clever part is that all of it — dictionary, tagger, chunker, rules — is compiled into a single artifact, which is why the same code that runs `harper-ls` in your editor also runs in a browser tab with nothing to fetch.
If you write Markdown docs, READMEs and code comments in Neovim, VS Code, Helix, Emacs or Zed and you want typos caught without a cloud round-trip, this is built for you — the language server is the mature part of the project. It also fits you if privacy is a hard requirement and shipping text to a third party is off the table. It is not for you if you write in anything other than English, if you need sentence rewriting rather than error flagging, or if you were hoping the new macOS desktop app is finished — issues #3565, #3504 and #3540 say otherwise.
Yes for the language server and library — 12 releases since March 2026, all six product CI workflows green on 2026-07-23, 130 contributors, and Automattic behind it since November 2024. Treat the coverage claims with care: Harper's own Neovim docs concede rules have "too much of a hair-trigger" and hand you a config that disables SpellCheck, and the 645-point Hacker News thread has two testers reporting broken sentences passing clean. The macOS desktop app is new enough that its own README says documentation gets updated "on a 'when we have time' basis" — try that one later.
Deep-dive insight, Easy and Pro modes, plus action playbooks — the full breakdown is one tap away.