OpenCode is waiting on you.
Your phone knows.
Pushary sends a push notification when OpenCode finishes or needs your permission, and lets you approve from your phone in one tap.
A push when OpenCode finishes a turn, and its permission prompts on your lock screen. Allow or reject, and OpenCode carries on.
One command
npx @pushary/agent-hooks@latest setupPick OpenCode when prompted. It writes a plugin to ~/.config/opencode/plugins and adds Pushary to opencode.json.
Which OpenCode actions can Pushary send to my phone?
Every permission prompt OpenCode raises: shell commands, file writes and edits, and web fetches. Pushary's plugin listens for OpenCode's permission.asked event and replies allow once or reject with your answer. If opencode.json already allows a tool, OpenCode never asks, so nothing reaches your phone for it.
Updated
Building an AI product for other people? Let your users approve what your agent does, from their phone. See the Partner plan or the human-in-the-loop API.
The OpenCode workflow without notifications
OpenCode asks before a shell command or an edit, and the prompt sits in a terminal you are not looking at.
Every way to get OpenCode notifications
Three ways, from a local banner to a prompt you can answer from anywhere. They differ on one question that matters with OpenCode: does it tell you when a turn ends, or also when OpenCode is waiting on a permission?
1. A session.idle plugin with osascript
FreeThe example in OpenCode's plugin docs
OpenCode's plugin docs show a plugin that runs osascript when a session goes idle, which puts a banner on a Mac when a turn ends. It is free and local. It does not reach your phone, and it tells you a turn ended, not that OpenCode is waiting on a permission.
export const Notify = async ({ $ }) => ({
event: async ({ event }) => {
if (event.type === "session.idle") {
await $`osascript -e 'display notification "Session completed!" with title "opencode"'`
}
},
})2. A community notifier plugin
FreeFor sounds, ntfy or chat alerts
Community plugins add sounds and one-way pushes. Check which hook a plugin uses for permission prompts. The permission.ask plugin hook is still declared in OpenCode's types but has not been called since v1.3.0, so a plugin built on it loads cleanly and never fires (opencode issue #47654, with a fix still open). The permission.asked event does fire.
3. Pushary: push plus approvals from your phone
$9.99/moFor OpenCode in any terminal
One command writes a Pushary plugin that listens for permission.asked, so every shell command, write, edit and web fetch OpenCode asks about reaches your phone with the request itself. Allow or reject on the lock screen and the plugin replies to OpenCode for you. A session going idle becomes a push that the turn is done. At your desk, the Pushary Mac app shows the same prompt in the notch.
npx @pushary/agent-hooks@latest setupHow the options compare
| Method | Reaches your phone | Answer from the notification | Price |
|---|---|---|---|
| A session.idle plugin with osascript | Free | ||
| A community notifier plugin | Free | ||
| Pushary: push plus approvals from your phone | $9.99/mo |
Stop watching OpenCode spin. Start getting notified.
One command. Your phone buzzes when OpenCode is done.
Start your trialOpenCode notification questions
How do I get a notification when OpenCode needs permission?
Run npx @pushary/agent-hooks@latest setup and pick OpenCode. The Pushary plugin listens for OpenCode's permission.asked event, sends the request to your phone, and replies allow once or reject with your answer. By default, if you do not tap within the window, OpenCode's own prompt takes over.
Why did my OpenCode plugin stop firing on permission prompts?
Because it registers the permission.ask hook. The hook is still declared in OpenCode's plugin types, but nothing has called it since v1.3.0, so the plugin loads and typechecks and never runs. Subscribe to the permission.asked event instead, which is what Pushary's plugin does.
Why does OpenCode never ask me about some tools?
OpenCode decides which actions need a decision, from the permission settings in opencode.json. A tool set to allow never asks anybody, Pushary included. Set it back to ask and its prompts reach your phone.
Does OpenCode have a yolo or skip-permissions flag?
No. OpenCode has no --yolo or --dangerously-skip-permissions flag. Permissions are set per action in opencode.json, as allow, ask or deny, for keys such as bash, edit and webfetch. Setting everything to allow is the OpenCode equivalent, and it removes every prompt at once.
Guides
Stay in control
Also works with