← birdybeep.com

OpenCode

BirdyBeep ships as a native OpenCode plugin that listens to session, permission, idle, error and tool events — so sessions on this machine appear in the app and you get a beep when one needs you.

  • ~2 min setup
  • restart once
  • open source

Quick install

If this machine is already paired, one command configures OpenCode:

birdybeep agent install opencode

Restart once

OpenCode loads plugins only at startup, so the integration isn't live until you restart OpenCode once after install. Until then the app shows this integration as needs restart; after restart, OpenCode sessions on this machine are tracked automatically.

What gets written

Install adds one BirdyBeep-managed entry to the plugin array in ~/.config/opencode/opencode.json (your existing config is preserved):

~/.config/opencode/opencode.json
{
  "plugin": ["@birdybeep/opencode"]
}

OpenCode installs the package and loads its plugin export. No token is written — the plugin reads your machine token from the secure store at event time.

Events you'll get

opencode eventbeep typeexample push
session start session_started silent — the session appears in the app
permission approval_required opencode needs your approval
idle agent_idle opencode is waiting
error agent_failed opencode hit an error
tool / finish agent_completed opencode finished

With Private Mode on (free for everyone), the push drops repo, branch, path, and command.

Test it

Send a real test beep to confirm the integration end to end:

birdybeep test
# → beep sent. check your phone.

Not chirping? birdybeep doctor checks pairing, plugin load, and delivery.

Security note

security note

Your machine token lives in the OS keychain (or ~/.config/birdybeep/ with strict permissions), is never written into repos or config files, and can be revoked or rotated from the app at any time. Notification bodies are never stored on our servers, and absolute paths are hashed or redacted. All adapter source is public under MIT — read it on github.