Properties2
| Type | Practice |
| Note created | Mar 5, 2026 |
OpenCode supports desktop notifications and sound alerts through the @mohak34/opencode-notifier plugin. This is how to set it up on macOS with Ghostty.
Plugin installation
Add the plugin to the global OpenCode config at ~/.config/opencode/opencode.jsonc:
{
"plugin": ["@mohak34/opencode-notifier@latest"]
}After adding it, kill all OpenCode processes and restart. The plugin is installed automatically via Bun at startup.
Notification system
The plugin supports three notification backends on macOS: osascript (default, shows Script Editor icon), node-notifier (custom icon but unreliable), and ghostty (native terminal notifications via OSC 777).
Configuration
Create ~/.config/opencode/opencode-notifier.json to customize behavior. The current configuration uses Ghostty notifications with macOS system sounds:
{
"notificationSystem": "ghostty",
"sounds": {
"complete": "/System/Library/Sounds/Tink.aiff",
"error": "/System/Library/Sounds/Sosumi.aiff",
"permission": "/System/Library/Sounds/Basso.aiff",
"question": "/System/Library/Sounds/Pop.aiff"
}
}Events
| Event | When it fires | Sound |
|---|---|---|
complete | Session finished | Tink |
error | Session error | Sosumi |
permission | Agent needs approval | Basso |
question | Agent asks a question | Pop |
subagent_complete | Subagent finished | Silent by default |
user_cancelled | ESC pressed | Silent by default |
Other options
The plugin also supports per-event volume control (volumes), custom notification messages with placeholders like {sessionTitle} and {projectName}, focus suppression (suppressWhenFocused), and a custom command hook to run arbitrary scripts on events.