OpenCode plugin that bridges OpenCode events to cmux notifications and sidebar metadata.
- OpenCode ≥ 1.0
- cmux (macOS app) installed with CLI accessible at
/usr/local/bin/cmux - The plugin is a no-op when not running inside a cmux workspace
Add to ~/.config/opencode/opencode.json:
{
"plugin": ["opencode-cmux"]
}OpenCode will download the package automatically on next start.
Build the package, then symlink the output directly into OpenCode's plugin directory:
ln -sf ~/path/to/opencode-cmux/dist/index.js ~/.config/opencode/plugins/cmux.jsMake sure opencode-cmux is not listed in opencode.json when using the symlink, to avoid loading it twice.
| Event | cmux action |
|---|---|
| Session starts working | Sidebar status: "working" (amber, terminal icon) |
| Session completes (primary) | Desktop notification + log + clear status |
| Session completes (subagent) | Log only (no notification spam) |
| Session error | Desktop notification + log + clear status |
| Permission requested | Desktop notification + sidebar status: "waiting" (red, lock icon) |
AI has a question (ask tool) |
Desktop notification + sidebar status: "question" (purple) |
The plugin responds to OpenCode lifecycle events by firing cmux CLI commands (cmux notify, cmux set-status, etc.). Each action targets the current cmux workspace, providing ambient awareness of what OpenCode is doing without requiring you to switch context. All commands are no-ops when cmux is not running.
MIT