Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ProofreadAnywhere

Apple Intelligence's Proofread, but everywhere — one hotkey that works in every app on your Mac.

Apple's built-in Writing Tools only appear in apps built on Apple's native text frameworks (Notes, Mail, TextEdit…). Apps with custom text engines — Chrome, Slack, Discord, VS Code, Electron apps in general — never get them. ProofreadAnywhere fixes that: select text in any app, press ⌥⌘P, review the suggested changes in a floating overlay, and accept to replace the text in place.

It uses the same on-device Apple Intelligence model that powers Writing Tools (via Apple's public Foundation Models framework), so everything runs locally: no network, no API keys, no data leaving your Mac.

Features

  • Works in any app — reads the selection through the Accessibility API, with an automatic copy-based fallback for apps that don't expose their text (Electron, custom editors…)
  • Review before it touches anything — a floating diff overlay (red strikethrough = removed, green underline = added) with Accept / Cancel
  • Fully on-device — Apple's local ~3B model; works offline, free, private
  • Configurable — change the hotkey and the model prompt from the menu bar Settings window; changes apply instantly
  • Smart placement — the overlay anchors to your selection and stays fully on screen

Requirements

  • macOS 26 (Tahoe) or later, on Apple Silicon
  • Apple Intelligence enabled (System Settings → Apple Intelligence & Siri) and finished downloading
  • Xcode 26+ (to build; no App Store distribution yet)

Install

git clone https://github.com/hatish2001/ProofreadAnywhere.git
cd ProofreadAnywhere
./install.sh

The script builds the app, installs it to /Applications, and launches it. Then:

  1. Grant Accessibility permission: System Settings → Privacy & Security → Accessibility → enable ProofreadAnywhere
  2. Select some text anywhere and press ⌥⌘P

Usage

Action How
Proofread selection Select text, press ⌥⌘P (configurable)
Accept correction Click Accept or press Return
Dismiss Click Cancel or press Esc
Change hotkey / prompt Menu bar PA icon → Settings…
Quit Menu bar PA icon → Quit

The default prompt polishes text into natural American English while preserving your meaning, tone, and formality. Want strict typo-fixing only, or a different dialect, or pirate speak? Edit the prompt in Settings — it applies to the very next proofread.

Troubleshooting

  • Overlay says "Couldn't get the selected text" — make sure Accessibility permission is granted. If you rebuilt the app with ad-hoc signing, macOS silently invalidates the permission: toggle it off and on again in System Settings.
  • "Proofreading failed" — usually the model refused the input. Try again or rephrase; enable debug logging to see the exact error:
    defaults write com.harisha.proofreadanywhere debugLogging -bool true
    # then check ~/Library/Logs/ProofreadAnywhere.log
  • Nothing happens on the hotkey — another app may own that shortcut. Pick a different combo in Settings.
  • First proofread is slow — the model loads into memory on first use. The app pre-warms it at launch, but the very first call after login can still take a few seconds.

How it works (and hard-won lessons)

  1. A Carbon RegisterEventHotKey global hotkey (no keylogging — the app only ever sees its own shortcut).
  2. Selection capture via AXUIElement / kAXSelectedTextAttribute, falling back to a simulated ⌘C with clipboard save/restore.
  3. The text goes to SystemLanguageModel (Foundation Models framework) with permissive content-transformation guardrails — the default guardrails false-positive constantly on innocent typos. Notably, structured @Generable output silently re-enables strict guardrails even on a permissive model, so the app uses plain-text generation with refusal/preamble detection instead.
  4. Accept writes back via kAXSelectedTextAttribute, verifies the app actually applied it (Safari and Electron apps often claim success and do nothing), and falls back to a simulated ⌘V.

License

MIT — see LICENSE.

About

Apple Intelligence Proofread everywhere on macOS — one hotkey, any app, fully on-device

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages