checkout — done
Rewrote the Stripe webhook handler and added retry backoff. 24 tests passing.
for people who run coding agents
A run finishes, breaks, or freezes waiting on you — and you find out ten minutes later. Put all three on your iPhone and Apple Watch the moment they happen: tap Allow, Reply, or simply come back to the agent.
Free · no account · step-by-step setup ↓
Four steps, once per computer. No account, no credit card, no config file to write.
Reading this on your iPhone? Tap the button. On a computer? Point your iPhone camera at the QR code. The app is free, and the Apple Watch app installs with it.
iPhone and Apple Watch · iOS 18 or later · free
Open the app. When it asks to send notifications, tap Allow. Without that, nothing can reach your phone.
Open a terminal on the machine where your agent runs and paste this. It needs Node.js 18 or newer.
It finds Claude Code, Codex CLI and Cursor, backs up each config, and adds its hooks next to any you already have. Then it prints a pairing code:
$ npx agentbuzz init
✓ Found Claude Code ~/.claude/settings.json
✓ Found Codex CLI ~/.codex/hooks.json
✓ Found Cursor ~/.cursor/hooks.json
· 2 hooks from other tools — these will be preserved
1. Get agentbuzz on your iPhone
[ QR code — skip it, you already have the app ]
2. Open it and enter this code:
3JHT-MNYJ
Waiting for your phone…
Enter the eight characters from your terminal. The terminal confirms right away and offers to send a test notification. Say yes, and you should feel the buzz. There's no email and no password. Each code works once and expires after ten minutes. If yours expires, run the command again.
Quit any Claude Code, Codex or Cursor session that is already open and start it again. Agents only read hooks when a session starts. That's it: your phone now buzzes when a run finishes, fails, or stops to ask permission.
Not buzzing? Run npx agentbuzz status to see what the hook
has been doing, or npx agentbuzz test to send a test notification.
More help is on the support page.
Everything else stays silent. That is the feature.
Not "a turn ended" — a run that actually took long enough that you walked away. With a one-line summary of what changed, so you know whether to come back.
The agent is frozen waiting on a yes. This is the ping that saves the most time, and the one you can answer without going back to the desk.
Errors surface as errors, from real failure events — not inferred from a hopeful-sounding last message.
A naive hook fires every time the agent stops talking — a notification every twenty seconds. agentbuzz only speaks when a run crosses your threshold.
Default threshold is 90 seconds and you can change it. The dashboard shows the runs it deliberately swallowed, so silence never looks like something broken.
the part nothing else does
When your agent asks for permission, the notification carries the buttons. Tap Allow on your Watch and the run continues — your laptop stays shut, in your bag, across the room.
Tap Reply and dictate the next instruction instead. The agent picks it up and keeps going.
The summary is built locally, on your laptop, from a transcript that never moves. This is not a policy promise — it is the only architecture that works, because the hook hands us a file path, not a conversation.
Here is everything that is ever sent:
{
"project": "checkout",
"status": "blocked",
"title": "wants permission to use Bash",
"body": "npm run migrate:prod",
"duration": 372
}
No file contents. No diffs. No prompts. The local script is open source, so you can read exactly what it reads and exactly what it sends — or run it against your own ntfy server and never touch our infrastructure at all.
agentbuzz uninstall restores the backup and removes only what we added.init wires up whichever it finds, and Cursor works in the IDE as well as the CLI. Two differences worth knowing: Cursor has no hook meaning “waiting for you”, so it reports finished and failed runs but not permission prompts; and the 4 files changed · 12× Read detail line comes from reading Claude Code’s transcript, so Codex and Cursor show the duration alone. Anything else that can POST JSON can send into the same endpoint.and download agentbuzz for iPhone and Apple Watch.