macOS
brew install harperlocal Homebrew formula metadata
brew
Grammar Checker for Developers. Version 2.6.0 via Homebrew; verified 2026-06-24.
install
brew install harperlocal Homebrew formula metadata
sudo apk add harperAlpine Linux edge package indexes · harper · source: dl-cdn.alpinelinux.org
nix profile install nixpkgs#harpernixpkgs package indexes · pkgs/by-name/ha/harper/package.nix · source: api.github.com
sudo pacman -S harperArch Linux sync databases · harper · source: geo.mirror.pkgbuild.com
scoop install main/harperScoop official bucket manifest trees · bucket/harper.json · source: api.github.com
winget install --id Automattic.harper-ls -eWindows Package Manager source index · Automattic.harper-ls · source: cdn.winget.microsoft.com
overview
Grammar Checker for Developers
history
Harper is an offline, privacy-oriented English grammar checker for developers and technical writers. It began as a Rust-powered grammar and spell-checking engine, then grew into a multi-surface project with a language server, CLI, WebAssembly package, browser extensions, editor integrations, and an Obsidian integration.
The repository history begins in October 2023 with experiments around highlighting, spelling, capitalization, and a Wagner-Fischer edit-distance implementation. By January 2024 the project was tagging early releases and packaging separate components such as harper-core and harper-ls.
Harper's README explains its design motivation as a response to expensive, network-bound, and heavy grammar checkers. The author describes Harper as a private tool that runs locally, lints quickly, and avoids sending writing to remote services. The project later moved under the Automattic GitHub organization, while the public repository retained its Rust workspace structure and developer-facing integrations.
Harper reached users through developer tools rather than only through a standalone writing app. Official language-server docs list package-manager and ecosystem distribution through Homebrew, Scoop, Arch, Nixpkgs, Cargo, and GitHub release binaries. The same docs show editor-oriented adoption through LSP support and integrations for Visual Studio Code, Neovim, Helix, Emacs, Zed, Sublime Text, Markdown, comments in programming languages, and related writing surfaces.
The 1.0.0 release notes framed the milestone around a stable API and noted significant pre-1.0 usage across Chrome, Obsidian, VS Code, Neovim, and other integrations. That release made Harper more credible as a library and embedded grammar-checking component, not only as an end-user binary.
The Homebrew package exposes `harper-cli` and `harper-ls`. In editor workflows, `harper-ls` provides Language Server Protocol diagnostics, dictionaries, code actions, ignore comments, rule configuration, dialect selection, and support for many programming and markup languages.
Harper's architecture makes it useful in both interactive and embedded contexts: the language server serves editors, the CLI fits scripts and package-manager installs, and `harper.js`/WebAssembly supports local linting in web or desktop applications.
Harper is a useful package-manager case because it is simultaneously a Rust CLI, a language server, and a library ecosystem. A package needs to expose developer-facing executables while matching the upstream release cadence and keeping integrations compatible with editor/LSP expectations.
It also represents a broader packaging trend: privacy-preserving local AI-adjacent writing tools that avoid hosted services but still integrate into developer editors, docs workflows, and programmable text-processing environments.
security posture
narrow executable package without higher-risk signals.
green risk · low confidence · appliance
Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.
executables
| Command | Kind | Exposure | Note |
|---|---|---|---|
harper-cli | cli | global executable | |
harper-ls | cli | global executable |
freshness
These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.
https://github.com/Automattic/harper
install metadata
| Package key | brew:harper |
|---|---|
| Version | 2.6.0 |
| Package manager | Homebrew |
| Package manager page | https://formulae.brew.sh/formula/harper |
| Homepage | https://writewithharper.com |
| Repository | https://github.com/Automattic/harper |
| Upstream docs | https://writewithharper.com/docs/integrations/language-server |
| License | Apache-2.0 |
| Source archive | https://github.com/Automattic/harper/archive/refs/tags/v2.6.0.tar.gz |
| Last updated | 2026-06-24T19:03:05Z |
| Pulse | updated |
| Build dependencies | rust |
| Bottle | available (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux) |
| Homebrew post-install | not defined |
| Service | none declared |
registry facts
| Source Database | Homebrew formula API |
|---|---|
| Tap | homebrew/core |
| Full Name | harper |
| Version Scheme | 0 |
| Revision | 0 |
| Head Version | HEAD |
| Bottle Stable Root URL | https://ghcr.io/v2/homebrew/core |
| Deprecated | no |
| Disabled | no |
| Keg Only | no |
| URL Keys |
|
source database matches
Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.
harper
nix profile install nixpkgs#harperharper 2.1.0-r0
English grammar checker
https://github.com/Automattic/harper
sudo apk add harperharper 2.4.0-1
The Grammar Checker for Developers
https://github.com/Automattic/harper
sudo pacman -S harpermain/harper
scoop install main/harperAutomattic.harper-ls
winget install --id Automattic.harper-ls -esource trail
This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.
View the package source record on GitHub.