OpenCode Plugins
tip
Plugins extend OpenCode with community-built tools, integrations, and workflows. Install via npm or local files.
How Plugins Work
Plugins hook into OpenCode's event system to add custom capabilities. They can:
- Add custom tools that the LLM can call during a session.
- Intercept tool calls to modify behavior before or after execution.
- Inject environment variables into shell sessions.
- Subscribe to events like session creation, file edits, and permission requests.
- Modify context during compaction to preserve important state.
Installation Methods
From npm
Specify npm packages in your opencode.json:
{
"plugin": ["opencode-wakatime", "@my-org/custom-plugin"]
}
OpenCode installs npm plugins automatically using Bun at startup, cached in ~/.cache/opencode/node_modules/.
From Local Files
Place JavaScript or TypeScript files in the plugin directory:
| Scope | Path |
|---|---|
| Project | .opencode/plugins/ |
| Global | ~/.config/opencode/plugins/ |
Files in these directories are auto-loaded at startup.
Top 10 Community Plugins by GitHub Stars
| # | Plugin | Stars | Category |
|---|---|---|---|
| 1 | Daytona | 72,467 | Workspace |
| 2 | Oh My OpenCode | 59,187 | Orchestration |
| 3 | Plannotator | 5,561 | Plan Review |
| 4 | Dynamic Context Pruning | 2,975 | Context |
| 5 | Supermemory | 1,234 | Memory |
| 6 | OpenCode Notifier | 592 | Notifications |
| 7 | OpenCode Worktree | 563 | Workspace |
| 8 | OpenCode Workspace | 450 | Orchestration |
| 9 | OpenCode PTY | 435 | Shell |
| 10 | MiCode | 399 | Workflow |
Plugin Types by Category
Workspace / Environment
| Plugin | Purpose |
|---|---|
| Daytona | Isolated sandboxes for safe code execution |
| OpenCode Worktree | Git worktree automation for parallel agent work |
Agent Workflow / Orchestration
| Plugin | Purpose |
|---|---|
| Oh My OpenCode | Full agent harness with bundled tools and agents |
| Plannotator | Visual plan and diff review with team sharing |
| OpenCode Workspace | Multi-agent orchestration in one install |
| MiCode | Structured brainstorm-to-implement pipeline |
Context / Memory
| Plugin | Purpose |
|---|---|
| Dynamic Context Pruning | Token optimization by pruning stale context |
| Supermemory | Persistent memory across sessions |
Notifications / Session UX
| Plugin | Purpose |
|---|---|
| OpenCode Notifier | Desktop alerts for events |
Shell / Runtime
| Plugin | Purpose |
|---|---|
| OpenCode PTY | Interactive terminal management for agents |
See individual plugin pages for installation, configuration, and usage details.