for people who run coding agents

don’t be the
bottleneck

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.

agentbuzz — ~/projects/checkout

        
  • Claude Code
  • Cursor
  • Codex CLI

two minutes, once

No account, no credit card, no configuration file to write.

  1. Run it in your terminal

    It finds every agent you have, backs up each config, and merges the hooks in — it never replaces hooks you already have.

    $ 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
    
      Open agentbuzz on your iPhone and enter this code:
    
          3JHT-MNYJ
    
      Waiting for your phone…
  2. Open the app and type the code

    That is the whole of signup. The code is single-use, expires in ten minutes, and binds that machine to your phone.

  3. Restart your agent, then walk away

    Hooks are read at session start, so the restart matters. After that your phone buzzes when a run finishes, fails, or stops for permission — and stays quiet when it doesn’t.

three things worth interrupting you for

Everything else stays silent. That is the feature.

done

The run finished

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.

needs you

It stopped for permission

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.

failed

It broke

Errors surface as errors, from real failure events — not inferred from a hopeful-sounding last message.

quiet by default

A naive hook fires every time the agent stops talking — a notification every twenty seconds. agentbuzz only speaks when a run crosses your threshold.

turns seen today16
12 stayed quiet — under 90s 4 were worth your attention

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

answer it from your wrist

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.

  • Works with the app force-quit and the phone locked
  • Full command text shown — never a truncated "Allow"
  • Dangerous commands are phone-only, by policy
  • If anything times out it falls back to asking you in the terminal

your code never leaves your machine

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.

questions

Will this slow my runs down?
No. The notification hook runs asynchronously and every network call has a hard timeout. If our API is down, your agent does not notice.
Why not just write the curl myself?
You can, and the script that does it is open source — take it. What you would then build yourself is the threshold logic, the summary extraction, the dedupe, the pairing, and the Watch actions. That is the part we sell.
Do I need an account?
Not to get your first notification. Setup pairs your phone with a code; email only becomes necessary when you add a second machine or start paying.
What happens to my existing hooks?
They are backed up and merged, never replaced. agentbuzz uninstall restores the backup and removes only what we added.
Which agents does it work with?
Claude Code, Codex CLI and Cursorinit 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.

never babysit
a terminal again