Input Monitoring on a Mac, step by step

Updated

Input Monitoring is the macOS permission that lets an app notice your keyboard, mouse or trackpad while you use other apps. You allow or remove it per app in System Settings, under Privacy & Security, Input Monitoring.

1-day free trial · $4.99 once · up to 3 Macs · macOS 13+

Secure checkout, payments byStripe· 14-day refund, no questions asked

Allow or remove an app

Apple’s steps are the same on macOS 13 Ventura and every version since:

  1. Choose Apple menu, System Settings, then click Privacy & Security in the sidebar.
  2. Click Input Monitoring.
  3. Switch each app on or off.

The same switch takes the permission away. Apple’s own description of what it grants: “Some apps can monitor your keyboard, mouse, or trackpad even when you’re using other apps.” What each app does with that is set by its own privacy policy, which is why is a keyboard sound app safe? is a separate guide.

Which apps ask for it

Keyboard sound apps such as Teclo, typing-speed meters, hotkey and remapping tools, and the helper apps of some mice, keyboards and drawing tablets. Google’s suggestions for “input monitoring mac” name Discord, Logitech and Wacom, which shows where people meet the prompt most.

How an app gets into the list

macOS adds an app to the list when the app asks. A Mac app asks with CGRequestListenEventAccess. Apple’s reference page for it says little, but Teclo’s code is built on what its maker saw: macOS shows the prompt only the first time, and after that the answer can only be changed in System Settings. Apps check with CGPreflightListenEventAccess, which answers without showing anything.

Teclo leaves the prompt to a button so it never appears before its explanation. While the permission is missing, Teclo’s window opens each time the app starts, with a note: “Teclo can’t hear your keys yet”. The first press of its button shows macOS’s prompt; later presses open the Input Monitoring list directly. Each press also asks again, which puts Teclo back into the list if someone removed its entry with the minus button.

When the switch is on but the app hears nothing

  1. Switch it off and on again. It is the first fix on Teclo’s support page for a Teclo that is switched on and still silent, and it costs nothing to try with any app.
  2. Quit and reopen the app. Teclo looks again every two seconds and starts listening without a restart, but other apps only check when they start.
  3. Look for Secure Input. A password field or Terminal’s Secure Keyboard Entry stops key events reaching every app with Input Monitoring; see Secure Input on a Mac.
  4. Reset the entry. Remove the app with the minus button below the list, or reset it in Terminal (below), then open the app and allow it again.

Reset it from Terminal

macOS keeps these decisions in its privacy database, which the tccutil command resets. Input Monitoring is the ListenEvent service:

tccutil reset ListenEvent app.teclo.Teclo

Replace app.teclo.Teclo with the app’s bundle identifier, or leave it out to reset Input Monitoring for every app. We ran the command on macOS 27.0, where it answered “Successfully reset ListenEvent approval status”. The app then has to ask again, as on its first launch.

Input Monitoring is not Accessibility

Accessibility is a different list in the same Privacy & Security pane, and lets an app control other apps as well as watch them. A keyboard sound app that only plays sounds needs Input Monitoring alone. If a keyboard sound app is silent for another reason, the troubleshooting guide covers the rest.

Questions

Where is Input Monitoring on a Mac?

Choose Apple menu, System Settings, then Privacy & Security in the sidebar, and click Input Monitoring. You may need to scroll down to find it.

Why isn't my app in the Input Monitoring list?

An app is added to the list the first time it asks for the permission. Open the app and use its own button to ask; Teclo's is Continue, in the note at the top of its window.

How do I reset Input Monitoring for one app?

In Terminal, run tccutil reset ListenEvent followed by the app's bundle identifier, for example tccutil reset ListenEvent app.teclo.Teclo. The app then has to ask again.

Do I need to restart the app after allowing it?

Some apps notice the change at once and some only after a restart. Teclo checks every two seconds and starts listening as soon as it sees the permission; if it stays silent, quit it and open it again.

Sources

Other facts on this page come from these pages, read on or before the date above.

Teclo

Launch price$4.99· $9.99 from 1 December

One-time · 1-day free trial · 14-day refundDownloadBuy · $4.99