Bash(npm run test)Do you want to proceed?
Your AirPods read the permission prompt out loud. You nod, and it runs — from the next room, or a timezone away.
The honest alternative
That’s the real competition — not another dashboard. Either you sit watching for a prompt that might be twenty minutes out, or you pass --dangerously-skip-permissions and read the diff afterwards.
One of those costs you the afternoon. The other one costs you exactly once.
Nod
How it actually works
Four hops, none of them clever. Install once, register the hook, and the loop closes on its own from then on.
01
Your agent reaches a command it needs permission for. A PreToolUse hook catches it before anything runs.
hook/noddr-hook.mjs02
The hook broadcasts to your phone over Supabase Realtime. Your Mac, a cloud box, a machine you haven't touched in a week — the agent's location stops mattering.
channel = "noddr-<install-uuid>"03
Your phone speaks the request into your AirPods. Nothing to unlock, nothing to look at, no window to find.
on-device voice, or Google TTS04
The AirPods' own motion sensors read your head. Nod returns allow, shake returns deny — and after a shake you can say what you'd rather it did.
permissionDecision: allow | denyHead-shake
Where a nod stops
A hardcoded list never reaches your phone at all. No setting turns it off, because a gesture you can make by accident should not be able to authorize these.
rm -rfIrreversible deletion→ terminalgit push --forceRewrites shared history→ terminalsudoEscalates out of the sandbox→ terminalThe nod report