birdybeep needs you
the notification layer for ai coding agents
Your coding agents chirp when they need you.
Pair your machine once with a QR code. Every session from a supported harness on it shows up in the app automatically — and your phone gets a beep the moment one needs you.
// how it works
Pair once per machine. Sessions just appear.
No per-session QR scans, no webhook secrets in config files. The QR carries a short-lived code, never a real token — and you can revoke a machine from your phone anytime.
-
1 · pair your machine — once
$ birdybeep pair -
2 · install integrations
$ birdybeep agent install all- ✓ claude code · hooks installed
- ✓ codex · notify set up config
- + hooks installed
-
3 · sessions appear. phone chirps.
needs approvalbirdybeep/mobile
walk away. we'll find you.
sessions sync event-first: a session shows up when it emits its next lifecycle event — start, resume, input, approval, idle, finish, or fail. no background daemon, nothing watching your terminal.
// supported agents
Four harnesses at launch. Built as open-source adapters.
-
claude code
Hooks into session, permission, input, stop and failure events. Sessions and subagents tracked automatically.
-
codex
Notify command plus lifecycle hooks. One-time hook trust in Codex (
/hooks) — the app shows trust status until the first event lands. -
opencode
Native plugin listening to session, permission, idle, error and tool events. Restart OpenCode once after install.
-
cursor
Hooks in
~/.cursor/hooks.jsonfor session, tool and shell-approval events. Live as soon as they're written — no trust step, no restart.
backlog GitHub Copilot CLI is on the post-MVP roadmap — not a launch adapter yet.
// setup
Three commands. Then walk away.
-
01
$ npm i -g @birdybeep/cliInstall the open-source CLI.
-
02
$ birdybeep pairA QR appears. Scan it from the app to pair this machine — once.
-
03
$ birdybeep agent install allConfigures every supported harness it finds. Future sessions appear automatically.
// privacy
Built to earn a developer's trust.
-
hashed, never stored
We store notification metadata and hashes — never the title or body of a beep. Absolute paths are hashed or redacted by default.
-
short-lived codes
The QR you scan carries a short-lived pairing code, never a real token. Tokens are hash-only server-side, and nothing is ever written into your repos.
-
private mode, free
Private Mode strips repos, branches and commands from push bodies — they just say “agent needs attention.” Free for everyone, not a paid upsell.
the cli and every adapter are open-source (mit) — read exactly what's sent before you install.
// pricing
Cheaper than the coffee you'll finish while Claude works.
free
$0 forever · no trial needed
- 100 beeps a month
- 1 device · 2 agent installs
- all three integrations
plus
$0.99 /mo · or $9.99/yr
- 10,000 beeps a month
- multiple devices · unlimited machines
- per-machine + per-integration muting
- 14-day local notification history
private mode is free for everyone — redaction is never paywalled.
// faq
Things developers ask before installing things.
-
No — one QR pairs a machine. After
birdybeep agent install all, every session from every installed harness on that machine appears automatically. -
Sessions sync event-first: they appear when they emit their next lifecycle event. A long-running session may need a resume, a new prompt, or a restart before it shows.
-
No. Adapters send small lifecycle events — never your code or prompts. Notification bodies aren't stored server-side, and the CLI + adapters are open-source so you can verify exactly what's sent.
-
Not yet — BirdyBeep is notify-only at launch. Remote actions are on the roadmap, after a proper security review.
-
No daemon, nothing polling. Your harness emits lifecycle events through the installed hooks; if nothing happens, nothing is sent.