New in 1.2 · Pull text in from any app with ⌃⌥G →

Better writing, one click away.

GrammarBar is a free grammar checker and translator that lives in your Mac's menu bar. Paste text — or press ⌃⌥G in any app — then ⌘↩. The result is already on your clipboard.

$ brew install --cask sarifmiaa/tap/grammarbar
Other ways to install

Free & open source · macOS 13+ · Apple Silicon & Intel · Requires Claude Code

Try it right here. Pick a mode and press the button — this is a replica of the real card with example outputs.
GrammarBar
Fix grammar
0 characters
Asking Claude…
Result✓ Copied

Demo with example outputs — the real app sends your text to Claude through your Claude Code login.

New in 1.2 · Capture from anywhere

Fix text where you write it.

Writing in Teams, Slack, Mail or a browser? Leave your cursor in the field and press ⌃⌥G. GrammarBar copies the whole field into the card, so you only have to pick a mode and press ⌘↩.

  • Works in any app with a text field. No plugins or browser extensions.
  • Takes the whole field. GrammarBar presses ⌘A ⌘C for you. To fix only part of a message, copy that part and paste it into the card.
  • Only when you ask. It sees nothing until you press the shortcut. It never reads your screen or other apps by itself.

Needs Accessibility permission, because macOS requires it for sending keystrokes. On the first press, macOS asks you to allow it.

Features

Small app. No friction.

Everything happens in a single card under the menu bar icon. Open it with a click, or with ⌃⌥G from any app. No windows to manage, no switching between tabs, no extra accounts.

Clipboard-first

Every result is copied automatically. Paste it straight back into Slack, Mail or your editor.

Stays open

The card doesn't vanish when you click elsewhere, so you can grab text from another app and come back.

History

Your last 100 results, searchable. One click restores the input and output, ready to tweak.

Minimal edits

Fix mode changes as little as possible and keeps your tone, line breaks, names, links and emojis.

Native & light

SwiftUI, no Electron, no dependencies. A universal binary under 2 MB that never blocks the UI.

Accessible

VoiceOver labels and announcements, full keyboard access, and support for Increase Contrast and Reduce Motion.

Four modes

Fix it, polish it, or translate it.

Switch with a click or ⌘1–4. Translate into English or any of 34 languages. GrammarBar remembers your last mode and language, and Use as input lets you chain them — translate, then polish.

Fix grammar⌘1

Before
i has went to the store yesterday and buyed three apple
After
I went to the store yesterday and bought three apples.

Polish / make natural⌘2

Before
I gave a try did not come well, maybe we can have this in next version giving more thoughts
After
I gave it a try, but it didn't turn out well. Maybe we can revisit it in the next version.

Translate to English⌘3

German
Kannst du mir bitte bis morgen die Folien schicken? 🙏
English
Could you please send me the slides by tomorrow? 🙏

Translate to any language⌘4

English
Dear Mr. Lopez, could you please send me the signed contract by Friday?
Spanish · keeps formal usted
Estimado Sr. López, ¿podría enviarme el contrato firmado para el viernes, por favor?
Pick from 34 languages
German · Spanish · French · Japanese · Hindi · Arabic · Chinese · Portuguese · …
How it works

Your Claude Code, one hop away.

GrammarBar doesn't need an API key. It calls the Claude Code CLI you're already signed in to, headlessly, in the background.

Paste or capture

Click the menu bar icon and paste. Or press ⌃⌥G in any app to bring the text along.

Press ⌘↩

Your text is piped to claude -p over stdin with a mode-specific instruction.

Paste the result

The answer appears in the card and is already on your clipboard, and saved to history.

Safe input

Text goes through stdin, never a shell argument — quotes and newlines can't break anything.

Clean context

Runs in a temporary folder, so no project CLAUDE.md leaks into your request.

Finds claude anywhere

Checks the usual install paths, then falls back to your login shell — nvm and asdf setups just work.

Privacy

No servers. No tracking.

  • Your session, your data. Text goes to Anthropic through your own Claude Code login — exactly as if you typed it into claude.
  • Nothing in between. GrammarBar has no backend, analytics or telemetry.
  • Capture only on request. Accessibility permission is used only to press ⌘A ⌘C when you press ⌃⌥G. GrammarBar never reads other apps on its own.
  • Local history. Stored only on your Mac. Clear it in the app, or remove everything with brew uninstall --zap.
  • Open source. Every line is on GitHub under the MIT license.
Keyboard

Hands on the keys.

ShortcutAction
⌃ ⌥ GCapture the focused text field from any app
⌘ ↩Submit
⌘ 1 … 4Switch mode
EscLeave history, then close the card
Install

Up and running in a minute.

Install Claude Code and run claude once to sign in, then pick one. Both installers verify the download and skip the Gatekeeper prompt. If Claude Code is missing, GrammarBar tells you on first launch and links to the install guide.

Homebrew Recommended

Installs to /Applications and updates automatically with brew upgrade.

brew install --cask sarifmiaa/tap/grammarbar

Install script

No Homebrew? Checks the SHA-256 and code signature, then installs to /Applications. Run it again to update.

curl -fsSL https://grammarbar.sarifmia.xyz/install.sh | bash

Read the script before running it.

Build from source

Needs the Xcode Command Line Tools — no Xcode project.

git clone https://github.com/sarifmiaa/GrammarBar.git
cd GrammarBar && ./build.sh
mv GrammarBar.app /Applications/
macOS 13 Ventura or later Apple Silicon & Intel Claude Code, signed in
FAQ

Questions, answered.

Does it cost anything?

GrammarBar is free and open source. Requests use your existing Claude Code plan or usage, like any other claude command.

Which model does it use?

Claude Haiku by default, for speed. Change claudeModel in Config.swift to "sonnet" and rebuild for higher quality.

Which languages can it translate to?

English has its own mode, and Translate to … covers 34 more — German, Spanish, French, Japanese, Hindi, Arabic, Chinese and others — picked from a menu in the card. It matches formal or informal address (du/Sie, tu/vous, tú/usted) to your original.

Can I add my own languages or modes?

Yes. A language is one line in Language.swift; a new mode is a single case with its instruction in Mode.swift.

Does it work in Teams, Slack, Mail and the browser?

Yes. Leave your cursor in the text field and press ⌃⌥G. GrammarBar copies the field's contents into the card. Paste the result back with ⌘V. It works in any app that supports Select All and Copy.

Why does it ask for Accessibility permission?

Only the ⌃⌥G shortcut needs it, because macOS requires that permission for sending keystrokes to other apps. GrammarBar uses it to press ⌘A ⌘C when you press the shortcut, and for nothing else. Without it, everything else still works.

⌃⌥G does nothing.

Turn GrammarBar on in System Settings → Privacy & Security → Accessibility. If you built the app from source and it stopped working after a rebuild, remove GrammarBar from that list and add it again.

It says “claude CLI not found”.

Install Claude Code and run claude once in Terminal to log in. GrammarBar checks for it on first launch, and offers to open the install guide if it isn't found. It looks in the usual install locations and in your login shell's PATH.

Why isn't there a download button?

GrammarBar is signed with its own certificate rather than an Apple-notarized one, so a zip downloaded in the browser triggers a Gatekeeper warning. Homebrew and the install script verify the download and install it without that prompt, so they're the only supported ways to install.

How do I update or uninstall?

Homebrew: brew upgrade --cask grammarbar / brew uninstall --cask grammarbar. Install script: run it again to update, or add -s -- --uninstall after bash to remove it.

How do I start it at login?

System Settings → General → Login Items & Extensions → Open at Login → +, then choose GrammarBar from /Applications.

GrammarBar app icon

Write it once. Send it right.

One command away.

$ brew install --cask sarifmiaa/tap/grammarbar
Star on GitHub