
Research
/Security News
TensorLake npm SDK Compromised in ChainDrop Shai-Hulud Credential-Stealing Attack
Tensorlake npm SDK version 0.5.144 was compromised in a ChainDrop / Shai-Hulud attack, delivering credential-stealing malware.
@serkanalgur/opencodev2-notification
Advanced tools
Native OS notifications for OpenCode V2 - know when tasks complete, errors occur, or the AI needs your input
Native OS notifications for OpenCode V2
A CLI plugin for OpenCode V2 that delivers native OS notifications when tasks complete, errors occur, or the AI needs your input.
You delegate a task and switch to another window. Now you're checking back every 30 seconds. Did it finish? Did it error? Is it waiting for permission?
This plugin solves that:
opencode plugin add @serkanalgur/opencodev2-notification
Add to your opencode.json or opencode.jsonc:
{
"plugins": ["@serkanalgur/opencodev2-notification"]
}
Or copy the plugin files to your .opencode/plugins/ directory:
.opencode/plugins/notification/index.ts
This plugin will NOT work unless you turn on OpenCode's
attentionsetting first. The plugin only uses OpenCode's built-in notification API — it cannot enable it for you. If attention is off, every notification is silently dropped (attention_disabled) and nothing appears on screen or plays a sound.
Add this block to ~/.config/opencode/cli.json:
{
"attention": {
"notifications": true,
"sound": true,
"volume": 0.4
}
}
attention.notifications → shows system notifications (usually when the terminal is not focused).attention.sound → plays a sound always (even while the terminal is focused).On macOS, also allow notifications for your terminal app: System Settings → Notifications → (Terminal/iTerm) → Allow Notifications.
If attention is disabled, v1.2.6+ prints a clear warning in the terminal when an event fires:
opencodev2-notification: attention is disabled. Enable it in ~/.config/opencode/cli.json:
"attention": { "notifications": true, "sound": true }
"Notify the human when the AI needs them back, not for every micro-event."
| Event | Notifies? | Sound | Why |
|---|---|---|---|
| Session complete | Yes | done | Main task done - time to review |
| Session error | Yes | error | Something broke - needs attention |
| Permission needed | Yes | permission | AI is blocked, waiting for you |
| Sub-task complete/error | No (default) | - | Set notifyChildSessions: true to include child sessions |
The plugin automatically:
attention.notify() API for native notifications| Platform | Method | Status |
|---|---|---|
| macOS | Notification Center | ✅ Full support |
| Windows | Toast notifications | ✅ Full support |
| Linux | Desktop notifications | ✅ Full support |
The plugin ships with sensible defaults and works right after you've completed the
required attention setup above.
To customize the plugin itself, create ~/.config/opencode/opencodev2-notification.json:
{
"notifyChildSessions": false,
"sounds": {
"idle": "done",
"error": "error",
"permission": "permission"
},
"quietHours": {
"enabled": false,
"start": "22:00",
"end": "08:00"
}
}
| Key | Type | Default | Description |
|---|---|---|---|
notifyChildSessions | boolean | false | Include child/sub-session notifications |
sounds.idle | string | "done" | Sound for session complete |
sounds.error | string | "error" | Sound for errors |
sounds.permission | string | "permission" | Sound for permission requests |
quietHours.enabled | boolean | false | Enable quiet hours |
quietHours.start | string | "22:00" | Quiet hours start (HH:MM) |
quietHours.end | string | "08:00" | Quiet hours end (HH:MM) |
default, question, permission, error, done, subagent_done
Minimal footprint. The plugin is event-driven - it listens for session events and fires notifications. No tools are added to your conversation.
No. Smart defaults prevent noise:
Remove the plugin from your opencode.json or delete the plugin files.
Inspired by opencode-notify by kdcokenny.
MIT
FAQs
Native OS notifications for OpenCode V2 - know when tasks complete, errors occur, or the AI needs your input
We found that @serkanalgur/opencodev2-notification demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Research
/Security News
Tensorlake npm SDK version 0.5.144 was compromised in a ChainDrop / Shai-Hulud attack, delivering credential-stealing malware.

Research
/Security News
Socket found 16 malicious Firefox extensions designed to steal crypto wallet recovery phrases and private keys using cloned Rabby and OKX interfaces.

Product
Socket now scans VS Code extensions, giving teams early detection of risky behaviors, hidden capabilities, and supply chain threats in developer tools.