Permission Types
Steno needs three macOS permissions for full functionality:
| Permission | Why it is needed | What breaks if denied |
|---|---|---|
| Microphone | Capture dictation audio | You cannot record |
| Accessibility | Type/insert text into focused controls | Direct and accessibility insertion fail |
| Input Monitoring | Detect global hotkeys outside Steno window | Option hold-to-talk and global toggle may fail |
Microphone permission is required during onboarding. The other two can be skipped, but practical use will be limited.
Request and Open Settings
In Settings -> Permissions, each permission card provides:
- Request action
- Open Settings shortcut
Behavior differences:
- microphone can prompt directly
- accessibility and input monitoring typically require manual enablement in macOS Settings
Use these deep links when needed:
- Accessibility:
Privacy_Accessibility - Microphone:
Privacy_Microphone - Input Monitoring:
Privacy_ListenEvent
Permission Refresh
Permission state can change while Steno is running. Steno refreshes state and, when idle, reinstalls monitors/hotkeys so changes take effect without a full reinstall.
If you granted access but behavior did not recover:
- open Steno and refresh permissions in settings
- stop any active recording
- relaunch Steno
Troubleshooting Permissions
Common patterns:
- Hotkeys not responding: Input Monitoring denied or stale registration
- Insertion fails with permission error: Accessibility denied
- Cannot proceed during onboarding: Microphone denied
Code signing and TCC
If you rebuild Steno with different signing identity or team settings, macOS may treat it as a different app and require permissions to be granted again.