OpenCode
Install the BirdyBeep plugin to receive notifications when OpenCode needs approval, goes idle, finishes, or fails. Restart OpenCode once after installation.
- ~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):
{
"plugin": ["@birdybeep/opencode"]
} OpenCode installs the package and loads its plugin export. The plugin reads your machine token from the secure store at event time and does not write it here.
Events you'll get
| opencode event | beep type | example 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.
If the test beep does not arrive, run birdybeep doctor. It checks pairing, plugin
loading, and delivery.
Security note
security note
BirdyBeep reads the machine token from your OS keychain or from
~/.config/birdybeep/ with restricted permissions. It does not write the token to
repositories or coding-agent configuration files. You can revoke or rotate it in the app. BirdyBeep
does not store notification bodies and hashes or redacts absolute paths. The adapter source is
MIT-licensed on
GitHub.