Setup:
npm install -g claude-remote-approver
claude-remote-approver setup
Then scan the QR code with the ntfy app on your phone and start a new Claude Code session.How it works: The hook POSTs the permission request to an ntfy topic, then subscribes to a response topic via SSE. When you tap a button on your phone, ntfy delivers the response back. The hook writes {"behavior":"allow"} or {"behavior":"deny"} to stdout and exits.
The topic name is generated with crypto.randomBytes(16) (128 bits), config file is 0600, and unanswered requests auto-deny after 120 seconds.
If you don't want requests going through the public ntfy.sh server, you can self-host ntfy and point the config at your own instance.
Github: https://github.com/yuuichieguchi/claude-remote-approver