Permissions
Last updated October 30, 2026
macOS asks you to approve each of these individually, in its own system dialog, the first time UnIdle actually needs it — never all at once, and never before you've turned on the feature that needs it. This page lists every one UnIdle can ask for, why, and exactly what stops working if you decline. None of them let UnIdle read your screen, your terminal contents, your code, or anything you type outside of the two specific shortcuts below.
Accessibility
Used by several featuresThree separate things depend on this one system permission:
- ⌥⌘L (Lock screen & walk away) and ⌘⌃A (toggle Always-on) — the global keyboard shortcuts, so they fire no matter which app is focused, not just while UnIdle's own window is. macOS treats "receive a keystroke while some other app is in front" as an Accessibility-gated capability, same as any other menu-bar utility offering a global shortcut (Raycast, Alfred, Rectangle, etc.).
- Mouse Motion (Settings → Power) — an optional second keep-awake method that nudges the cursor on a timer, for apps or screen locks that watch for literal input rather than trusting the OS's own busy signal. Moving the cursor programmatically is an Accessibility-gated action.
- Lock screen & walk away itself — UnIdle first tries a mechanism that needs no permission at all; on macOS versions where that path isn't available, it falls back to simulating the standard ⌃⌘Q lock shortcut, which does need Accessibility to post a synthetic keystroke.
Without it: the two global shortcuts only work while UnIdle's own popover has focus, Mouse Motion silently does nothing, and Lock screen & walk away may not work at all depending on your macOS version. Grant it any time from Settings — UnIdle re-checks and turns everything back on immediately, no restart needed.
Powers: ⌥⌘L Lock screen & walk away, ⌘⌃A toggle Always-on, Mouse Motion keep-awake
Notifications
Powers UnIdle's alerts: a project "needs permission" (with the command), "has a question" (with the question), or "finished" (with Claude's own one-line summary). Without this permission, or if you disconnect UnIdle from Claude Code in Settings → General, UnIdle still knows an agent is running — it just can't tell you what it's doing.
Without it: the alert toggles in Settings still exist, but nothing ever actually shows on screen — UnIdle already flags this directly in Settings when it detects notifications aren't authorized.
Powers: needs-permission alerts, question alerts, task-finished alerts
Local Network
Pro, opt-inOnly requested if you turn on "Push to my phone." The alert itself — title, message, the "needs permission"/"finished" text — always goes over the internet, through the public ntfy.sh relay (see the privacy policy); that part never touches your local network. Local Network is for something narrower: when an alert includes Approve/Deny buttons, tapping one sends your phone straight to your Mac's address on the same Wi-Fi, reaching a small local server UnIdle runs — no round trip through the internet for that tap.
Without it: push-to-phone notifications keep arriving exactly the same, since the alert itself never depended on this permission — only the Approve/Deny buttons stop working, since your phone can no longer reach your Mac to deliver the tap.
Powers: Approve/Deny buttons on push-to-phone alerts
One-time password for the helper
Pro, opt-inNot a macOS "permission" in the System Settings sense — macOS's standard "install a new helper tool" prompt, shown only if you set up "Prevent sleep on lid-close (battery)." The helper can do one thing: switch lid-close sleep off while an agent is working, and back on after. It only accepts requests from UnIdle, and turns sleep back on by itself if UnIdle quits. Asked once, at setup; never again after. "Restore all sleep settings" removes it, no password.
Without it: closing the lid on battery sleeps your Mac immediately, same as it always did — every other feature on this page works independently of this one.
Powers: Prevent sleep on lid-close (battery)
Not permissions, but worth knowing
Two more things UnIdle sets up that you may see mentioned by macOS or in your files. Neither asks for approval, and both are easy to undo.
Login item
Opt-inIf you turn on "Launch at login" (during setup or in Settings → General), UnIdle registers itself as a login item, so it's in the menu bar after a restart and keeps guarding long runs. macOS then lists UnIdle under System Settings → General → Login Items, and shows its own notification about it:
App Background Activity
Software from “Ramadan Pajaziti” can run in the background. You can manage background activity in Login Items & Extensions.
That's UnIdle: Ramadan Pajaziti is the developer whose Apple certificate signs it (macOS writes the name in capitals). Setting up the lid-close helper shows the same notification once. Nothing else is running.
Without it: everything works the same; you just open UnIdle yourself after a restart. Turn it off in Settings → General or in Login Items.
Powers: UnIdle starting by itself after a restart
Claude Code hooks
On by defaultNo macOS permission is involved. UnIdle adds a few hook lines to ~/.claude/settings.json (and any .claude-account* variants). Claude Code runs them when it starts working, stops, or needs you, and they tell a tiny server UnIdle runs on your own Mac. That's how UnIdle knows exactly when Claude is working, finished, or waiting for permission. The hooks only send that state, never your code, prompts or replies, and they never leave your Mac.
Without it: Settings → General → Disconnect from Claude Code removes every line UnIdle added (uninstalling does too). UnIdle then keeps your Mac awake by watching activity instead, like it does for other agents, but it can't alert you that Claude finished or needs permission.
Powers: exact Claude Code state, needs-permission, question and finished alerts, phone Approve/Deny
Removing UnIdle
Uninstall UnIdle… in Settings removes everything above in one go: the Accessibility permission, the helper, the hooks, the login item and UnIdle's settings. If you quit UnIdle and drag it to the Trash instead, from version 0.1.9 the helper removes itself within a day, and the Claude Code hooks remove themselves the next time Claude Code starts.
Left to you: after a drag to the Trash, UnIdle stays listed under System Settings → Privacy & Security → Accessibility; select it and click −. macOS also keeps it in its Notifications list, even after Uninstall, because no app can remove itself from there. Neither entry does anything once UnIdle is gone.
Questions
[email protected] — or see the Privacy Policy for what data (if any) ever leaves your Mac.