How to Get Automatic Spelling Correction in Every App on Mac
macOS spell check only works in apps that use Apple's native text framework - a category that excludes a large proportion of the apps most Mac users type in every day. Getting automatic spelling correction in every app requires a tool that operates below the app layer. Charm does this via CGEventTap, intercepting keystrokes at the kernel level and correcting spelling silently in under 200ms, regardless of which app is active.
Why does macOS spell check not work in every app?
Understanding the limitation makes the solution much clearer. macOS spell check is implemented as part of AppKit - Apple's native application framework. It works by hooking into the text input pipeline for NSTextView, the component that powers text fields in native Mac apps. When you type in an app that uses NSTextView, spell check can see your keystrokes and flag errors.
The problem is that a large number of popular Mac apps do not use NSTextView at all. Apps built on the Electron framework - which packages a Chromium browser engine as a desktop application - render their text fields using Chromium's own rendering pipeline. Apps built on Qt, Flutter for desktop, or other non-Apple frameworks do the same. From macOS's perspective, the text area inside one of these apps is an opaque surface. The OS cannot see the text being entered, and spell check cannot intervene.
Studies on professional Mac usage suggest that knowledge workers spend more than 60% of their active typing time inside non-native applications. Productivity apps, developer tools, project management tools, and messaging platforms built on non-native frameworks are among the most common categories affected. For many users, macOS spell check is effectively invisible for the majority of their daily writing.
This architectural limitation is not something Apple is likely to change. Apps that use non-native frameworks are responsible for their own text services. Some choose to implement spell checking; many do not. For consistent spelling correction everywhere on your Mac, you need a tool that takes a different approach.
How does Charm achieve spelling correction in every app?
Charm uses CGEventTap - a macOS kernel-level API that allows an application to intercept hardware input events before they reach any application. Because CGEventTap operates below the application layer, it is completely framework-agnostic. It sees every keystroke on your Mac, regardless of which app is frontmost and regardless of which text framework that app uses.
When you type a word and complete it with a space or punctuation, Charm evaluates the word. If it is a misspelling, Charm uses the Accessibility API to inject the corrected form in place of the original word. The entire process takes under 200 milliseconds - a brief cyan glow around the corrected word is the only visible indication that a correction occurred. Writing continues without interruption.
This is different from a browser extension (which only works inside web pages in a browser window) and different from the macOS built-in spell checker (which only works inside native AppKit text fields). Charm's CGEventTap approach means it works in every app - email clients, messaging tools, note-taking apps, developer tools, productivity apps, creative tools, and any other application you use on your Mac.
According to Carnegie Mellon University research on typing behaviour, the average writer makes 3 to 5 spelling errors per 100 words. Across a professional working day, that can mean dozens of individual errors requiring manual review - each one an interruption. Charm eliminates each of them automatically, in the moment it occurs.
How to set up automatic spelling correction in every app
The setup process takes under two minutes. Follow these five steps.
Step 1: Download Charm from theodorehq.com/charm
Go to theodorehq.com/charm and click Get Charm. Complete the $9.99 one-time purchase. After purchase, download the .dmg installer from the link provided. No account is required, and there is no subscription - you pay once and own it.
Step 2: Move to Applications and open
Open the downloaded .dmg file. Drag Charm.app into your Applications folder. Eject the disk image when the copy is complete. Open Charm from your Applications folder or from Launchpad.
Step 3: Grant Accessibility permission
When Charm opens for the first time, macOS will ask for Accessibility permission. This permission is what allows Charm to read and correct text across all apps. Click Open System Settings, navigate to Privacy and Security - Accessibility, and enable the toggle next to Charm. Return to Charm - it is now ready to use.
Accessibility permission is granted once. You will not be asked for it again unless you move the app to a different location or reinstall macOS.
Step 4: Enable Spells in the Charm menu
Click the Charm icon in your Mac's menu bar. You will see three toggles: Spells (cyan, spelling correction), Polish (blue, grammar correction), and Oracle (purple, word prediction). Toggle Spells on. The icon glows cyan to indicate it is active. You can also enable Polish and Oracle if you want grammar correction and word prediction running alongside spelling correction.
Step 5: Type in any app - errors are corrected silently
Open any app on your Mac - your email client, a note-taking tool, a developer tool, a messaging app, anything. Type as normal. When you make a spelling error, Charm corrects it in place within 200 milliseconds. A brief cyan glow confirms the correction. You never need to right-click, navigate a menu, or take any manual action.
For a more detailed walkthrough of Charm's full setup including per-app configuration, personal dictionary management, and advanced options, see the complete Charm setup guide.
What about apps you want to exclude?
Charm works in every app by default, but you can exclude specific apps if needed. Click the Charm menu bar icon while the app you want to exclude is frontmost, and select Disable for [App Name]. Charm will leave that app untouched while continuing to correct spelling everywhere else. This is useful for apps where you want to type freely without correction - coding environments where variable names should not be corrected, for example, or terminal windows.
You can re-enable correction for any excluded app at any time from the same menu.
Frequently asked questions
Why does Mac spell check only work in some apps?
macOS spell check is part of the AppKit text framework. It only works in apps that use Apple's native text rendering. Apps built on non-native frameworks (such as Chromium or Electron) bypass macOS text services entirely. Charm uses a kernel-level approach that works regardless of which framework an app uses.
How do I get spelling correction to work in every app on Mac?
Install Charm. Charm uses CGEventTap to intercept keystrokes at the kernel level, below any app framework. This means it corrects spelling silently in every app - including productivity apps, developer tools, and messaging apps that macOS spell check cannot reach.
Does Charm require me to do anything when it corrects a word?
No. Charm's Spells feature corrects spelling automatically as you type. The misspelled word is replaced in place with the correct form in under 200ms. A brief cyan glow confirms the correction. You never need to right-click, select from a menu, or take any manual action.
What permission does Charm need and why?
Charm requires Accessibility permission in macOS System Settings. This permission allows Charm to read and correct text across all apps on your Mac. It is granted once and never needs to be renewed. Without it, Charm cannot inject corrections into other applications.
Can I disable Charm for a specific app?
Yes. Click the Charm menu bar icon and select Disable for [App Name] to exclude any application. Charm will skip that app while continuing to correct spelling everywhere else. You can re-enable it for that app at any time from the same menu.