Handoff Download

macOS permissions

Handoff needs three grants in System Settings, Privacy & Security. All three are requested on first use; this page explains what each one is for and what breaks without it.

Permission Used for Without it
Screen Recording Screenshots (xcap) and window titles (active-win-pos-rs) Screenshots fail; window titles come back empty, so title exclusions cannot match.
Accessibility Global mouse and keyboard listener (rdev) The listener starts but never receives an event. No error is raised.
Input Monitoring Same listener on macOS 10.15 and later As above.
Microphone Voice notes, only while the microphone button is on Spoken notes record silence and Handoff says so; typed notes still work.
Speech Recognition Turning voice notes into text with Apple’s recogniser, on the Mac only Choose Whisper in Settings instead.

Microphone and Speech Recognition are asked for the first time someone speaks a note, not at install. Recognition is forced on-device; Handoff never lets Apple’s servers transcribe.

The screen capture prompt

On macOS 15 and later, the first screenshot an app takes through the window-list capture API raises a second, separate prompt even with Screen Recording on: "Handoff is requesting to bypass the system private window picker and directly access your screen and audio". Choose Allow. While it is open, screenshots come out black and the prompt itself is the window in front. Handoff takes one throwaway screenshot when the Settings tab opens with Screen Recording granted, so the prompt appears during setup rather than during a recording. Handoff never records its own window or system prompts (UserNotificationCenter, SecurityAgent and similar) in any case.

External drives

Keeping recordings on an external drive (Settings → Storage) triggers one more prompt the first time: "Handoff would like to access files on a removable volume". Choose Allow.

Verifying

The Settings tab shows a checklist backed by tauri-plugin-macos-permissions (check and request for each grant) and verifies the input hook by counting events: once Accessibility and Input Monitoring are granted and the mouse has moved, "events seen" climbs above zero. The listener gives no error when it is not trusted, which is why the count matters more than the checkbox. Screen Recording only takes effect after the app is restarted; the checklist says so.