The Accessibility permission on a Mac: what it allows and when to grant it
InputConfig is completely free on the Mac App Store. You don't have to make an account, there are no subscriptions, and nothing is locked. Optimized for Apple silicon.
The Accessibility permission lets an app control your Mac: send keystrokes and clicks, move the pointer, watch keyboard and mouse events, and read or operate the windows of other apps. It lives in System Settings, Privacy & Security, Accessibility, and macOS makes you switch it on by hand because it is powerful. Grant it to an app you trust whose job needs it, such as a controller mapper, a window manager or a screen reader, and switch it off again whenever you like.
On this page
Know what an app can do with it
- Send keyboard and mouse events. Keystrokes, shortcuts, clicks, pointer movement and scrolling, sent to other apps. Controller mappers, auto clickers and text expanders need this.
- Watch keyboard and mouse events. While you use other apps, which is how global shortcuts and hotkey tools notice a key.
- Read and operate other apps. Find buttons and menus, move and resize windows. Screen readers and window managers use this.
An app with the permission is technically able to observe what you type. That is why the switch exists. The question to ask is not whether an app has it, but whether you trust that app with it.
Grant it, or take it back
- Open System Settings and click Privacy & Security in the sidebar.
- Click Accessibility. The list shows every app that has asked.
- Switch the app on. macOS asks for your password or Touch ID.
- To take it back, switch the app off, or select it and click the minus button to remove it from the list.
If an app is switched on and still cannot control anything, usually after an update, climb this ladder, smallest step first:
- Relaunch the app. Quit it fully and open it again.
- Remove it and add it again. Select it, remove it with the minus button, add it back with the plus button, then relaunch the app.
Tell it apart from Input Monitoring
Input Monitoring is a separate switch in the same Privacy & Security pane. It lets an app read input from your keyboard and other input devices at a lower level, even while you use other apps.
- Some apps need both. Steam, for example, asks for Input Monitoring before Steam Input can see a controller on recent macOS (more on Steam).
- Sending needs only Accessibility. An app that only sends keys and clicks should not need Input Monitoring.
Decide whether an app deserves it
Five checks, in the order I would ask them:
- Its job needs it. A controller mapper, a window manager or a screen reader cannot work without it. A calculator or a note app has no reason to ask.
- It comes from the Mac App Store. Store apps run in Apple's sandbox and pass review, which limits what they can reach.
- It cannot reach the internet. An app that has the permission and no network access has nowhere to send what it sees.
- Its source is open. Then anyone can check what it does with the permission.
- It says why. In plain words, what it uses the permission for.
Be wary of an app that asks without a clear reason.
What InputConfig does with it
I make InputConfig, a free controller mapper, and this is the main permission it asks for, so here is exactly what it does with it.
- It sends. Every keystroke, click, pointer movement and scroll that a controller, MIDI device or Mac key is mapped to is posted as an ordinary keyboard or mouse event, and macOS only delivers those from an app with Accessibility switched on.
- It listens only when a preset asks. Reading a game controller or a MIDI device needs neither Accessibility nor Input Monitoring. Your Mac's own keyboard and mouse are watched only while a preset that uses one of their keys or buttons as an input is running, or while Scan or the Live Visualizer is using them. The watching is listen-only: a bound key still does its normal job, and every keyboard reports as one device.
- It never asks for Input Monitoring. The one exception is a controller that also presents itself as a keyboard, such as some arcade sticks and macro pads: InputConfig reads it only once you allow Input Monitoring for InputConfig, and the Devices menu opens that setting for you. Separately, macOS asks about Bluetooth the first time InputConfig uses it: to disconnect a wireless controller, to reconnect paired controllers if you turn that on, or to read Switch 2 controllers if you turn on that setting in Settings, Devices.
- It has no network access. The Mac App Store build is sandboxed without permission to use the network, so nothing it sees can leave the Mac. There is no account and no analytics.
- Its source is on GitHub. Under the MIT license, so all of the above can be checked.
If you switch the permission off, presets stop reaching other apps, and Settings, General in InputConfig shows that the permission is off, with a button that opens the right pane. The menu bar icon also turns orange when a running preset needs it.
The short version
- Where it is. You will find it in System Settings, Privacy & Security, Accessibility.
- What it allows. It allows sending keys and clicks, watching input, and operating other apps.
- When to grant it. To an app you trust whose job needs it, ideally sandboxed, offline and open source.
You can switch it off at any time, so granting it is never a one-way door.
Questions
Is it safe to give an app Accessibility permission on a Mac?
It is safe for an app you trust whose job needs it, such as a controller mapper, window manager or screen reader, and you can switch it off in System Settings, Privacy & Security, Accessibility at any time. Be wary of an app that asks without a clear reason.
Can an app with Accessibility permission see what I type?
Technically, yes: the permission lets an app watch keyboard events while you use other apps. InputConfig only watches your keyboard while a running preset, Scan or the Live Visualizer uses a key as an input, and it has no network access.
Why does a controller mapper need Accessibility permission on a Mac?
Because macOS only delivers keystrokes, clicks and pointer movement created by an app when that app has the Accessibility permission. Without it, a controller mapper such as InputConfig can read the controller but cannot make anything happen in other apps.
Does InputConfig need Input Monitoring?
Only for a controller that also presents itself as a keyboard, such as some arcade sticks. Accessibility is the main permission. Game controllers and MIDI devices are read without either permission, and your Mac's keyboard and mouse are read through Accessibility.
Where is the Accessibility permission on a Mac?
In System Settings, Privacy & Security, Accessibility. The list there holds every app that has asked for permission to control your Mac, each with its own switch.
Related
Updated