Guide

Text expander not working on Mac? It’s usually Secure Input

Your abbreviations worked a minute ago and now nothing happens. Nine times out of ten, macOS has turned on Secure Input, and every text expander on the Mac is blind until it’s off.

By Anmol Sethi · Updated

What Secure Input is

Secure Input is a macOS protection for password fields. While it’s on, keystrokes go only to the focused field; no other app can see them. That stops keyloggers, and it also stops every text expander, because an expander works by watching what you type.

It should switch off as soon as you leave the password field. The trouble starts when an app turns it on and forgets to turn it off: a password manager, a terminal with “Secure Keyboard Entry”, a browser tab with a stuck login form, or a remote-desktop app.

Snipora is a text expander that tells you why when it can’t expand. Try it in your browser →

Find the app holding it

Open Terminal and run:

ioreg -l -w 0 | grep kCGSSessionSecureInputPID

If Secure Input is on, the output ends in a process ID. Look it up:

ps -p <PID> -o comm=

Common holders: 1Password and other password managers, Terminal or iTerm2 with Secure Keyboard Entry turned on, Safari or Chrome with a login form open in a background tab, and screen-sharing apps.

Turn it off

  1. Click into a normal text field, then press Esc, to leave any password field you might still be in.
  2. In Terminal or iTerm2, open the app menu and untick Secure Keyboard Entry if it’s on.
  3. Quit the app the commands above named, or lock and unlock your password manager.
  4. Still stuck? Log out and back in. A restart always clears it.

If it isn’t Secure Input

SymptomLikely causeFix
Nothing expands anywhere, right after an updatemacOS reset the expander’s permissionsSystem Settings → Privacy & Security → Accessibility and Input Monitoring: turn the app off and on again.
Works in some apps, not othersA per-app rule or an app that ignores pasted textCheck the snippet’s app rules; try the expander’s search-and-paste instead.
Expands inside words you didn’t meanThe abbreviation is the end of a real wordStart abbreviations with a character like ;.
Expands, then the text is garbledTyping simulation racing the appUse an expander that pastes rather than types.

The way Snipora handles it

Snipora can’t bypass Secure Input either. Nothing can, and that’s the point of it. What it does instead is tell you: the menu bar icon turns into a warning, the menu names the app holding Secure Input (“1Password is holding Secure Input”) and offers Quit 1Password. Expansion picks up again on its own the moment it’s released.

In the meantime, ⌃⌥Space opens the snippet picker, which pastes instead of watching keystrokes, so your snippets still work.

Snipora is free for up to 15 snippets. No account.

Try it in your browser

Still have a question?

Write in. The developer who makes Snipora reads and answers every email.

[email protected]