Small upgrades to how you use OpenCode.
Independent plugins for code reviews, live RAM monitoring, faster navigation, reusable agent configurations, and more!
Explore Plugins · Quick Start · Compatibility · Contributing
No bundle required. Each plugin is independently published and installable. Pick the ones that improve your workflow.
| Plugin | What it does |
|---|---|
| 🤺 Adversarial Review | Challenge your implementation before shipping. |
| 🐏 RAM Monitor | See where OpenCode's memory goes. |
| ⏱️ Double-Tap Timeline | Open the session timeline with two Escape presses. |
| 🛠️ Agents Loader | Reuse agents and commands across AI coding tools. |
| 🗣️ Output Styles | Customize how your agents approach conversations. |
| 💬 Agent Prompt Inheritance | V1 only: Preserve base model instructions when customizing agents. |
🤺 Adversarial Review [opencode-adversarial-review]
Challenge your code before shipping it.
Two clean-context reviewers examine your code independently of the conversation that produced it:
/adversarial-review— Challenges implementation decisions and looks for reasons not to ship, prioritizing correctness, security, and data-loss risks./constructive-review— Reviews correctness and provides actionable improvements.
Both reviewers gather their own evidence, support working-tree changes, commits, branches, and pull requests, and produce structured findings.
🐏 RAM Monitor [opencode-ram-monitor]
See where OpenCode's memory goes.
Full view |
Minimal view |
Monitor OpenCode's memory usage directly in the sidebar, including MCP servers, language servers, and terminal processes. Choose between full and minimal layouts, or use /ram to inspect the detailed process tree. No additional dependencies required.
⏱️ Double-Tap Timeline [opencode-double-tap-timeline]
Navigate your session without reaching for a command.
Inspired by Claude Code's double-Escape interaction. Double-tap Esc to open OpenCode's session timeline instantly, without typing /timeline or using the mouse.
Single-Escape behavior remains unchanged, and no additional configuration is required.
🛠️ Agents Loader [opencode-agents-loader]
Keep your agents and commands portable.
Extend OpenCode's agent and command discovery to the .agents/ directory convention, allowing configurations to be shared across compatible AI coding tools.
- Global and project-local: Discover files in
~/.agents/and.agents/. - Native integration: Managed symlinks expose files to OpenCode without rewriting their contents.
- Automatic synchronization: Changes are reconciled while preserving native OpenCode configuration precedence.
🗣️ Output Styles [opencode-output-styles]
Choose how your agent responds, and keep it that way.
Switch between persistent response styles without repeating the same instructions throughout a conversation.
Includes Claude Code's built-in Proactive, Concise, Explanatory, and Learning styles, plus custom project-local and global styles. Use /output-style, the picker, or the clickable sidebar line to switch; each session keeps its own style, with a global setting for the rest.
Install only the plugins you want by adding their npm packages to your OpenCode configuration.
OpenCode V2 separates server plugins from TUI plugins. They use different configuration files.
Add your selected server plugins to opencode.json or opencode.jsonc:
{
"$schema": "https://opencode.ai/config.json",
"plugins": [
"@capybearista/opencode-adversarial-review@latest",
"@capybearista/opencode-agents-loader@latest",
"@capybearista/opencode-output-styles@latest"
]
}A plugin with both a server and a TUI half, such as Output Styles, needs only this one entry; its TUI half loads automatically, so it does not belong in cli.json.
Add your selected TUI plugins to your global cli.json, typically at ~/.config/opencode/cli.json:
{
"$schema": "https://opencode.ai/v2/cli.json",
"plugins": [
"@capybearista/opencode-double-tap-timeline@latest",
"@capybearista/opencode-ram-monitor@latest"
]
}Important
Both TUI plugins belong in cli.json, not opencode.json.
That's it! Keep only the plugins you want. Check the Compatibility table for each plugin's minimum OpenCode version, and the individual READMEs for configuration options, usage examples, and troubleshooting.
The repository supports both OpenCode V2 and V1, but plugin availability and configuration differ between versions.
| Plugin | OpenCode V2 | Minimum V2 | OpenCode V1 |
|---|---|---|---|
| Adversarial Review | @latest · opencode.json(c) |
2.0.2 | @1.0.0 · opencode.json(c) |
| Agents Loader | @latest · opencode.json(c) |
2.0.2 | @1.0.0 · opencode.json(c) |
| Double-Tap Timeline | @latest · cli.json |
2.0.0 | @1.0.1 · tui.json(c) |
| RAM Monitor | @latest · cli.json |
2.1.0 | @1.1.0 · opencode.json(c) and tui.json(c) |
| Output Styles | @latest · opencode.json(c) |
2.2.0 | @1 · opencode.json(c) |
| Agent Prompt Inheritance | Not yet ported | — | @latest · opencode.json(c) |
Using OpenCode V1? See the V1 Plugin Guide for installation, version pinning, and upgrade instructions.
OpenCode V2 provides a built-in TUI plugin manager and CLI commands for checking and installing updates.
Through the TUI: Open the plugins dialog from the footer or through the "Open plugins" action to inspect plugin status and manage updates.
Through the CLI:
# Check for available updates
opencode plugin check
# Update all configured mutable targets
opencode plugin update
# Update a specific plugin
opencode plugin update @capybearista/opencode-ram-monitorOnly mutable targets, such as @latest, receive updates. Exact version pins remain unchanged.
This plugin remains available for OpenCode V1 but has not been ported to V2.
💬 Agent Prompt Inheritance [opencode-agent-prompt-inheritance]
Keep base model instructions when customizing agents.
Custom agent prompts can replace provider-specific system instructions. This plugin allows agents to inherit supported provider prompts while adding their own task-specific guidance.
Supports configurable prompt ordering through agent frontmatter.
Contributions, bug reports, and suggestions are welcome! If you'd like to contribute code, take a look at CONTRIBUTING.md and the documentation index.
Every plugin here started because I hit a wall with stock OpenCode and thought "there's gotta be a better way."
I usually browse through Reddit and the GitHub Issues section of OpenCode, noticing people griping about their workflows. But if you've got a concrete idea and want to put it directly in front of me, I'm all ears :)
↣ Got a brand-new plugin idea? Open a plugin proposal.
↣ Found something broken or have an improvement in mind? Open a feature request.
If these plugins have made your workflow better, consider starring the repository. It helps other OpenCode users discover the project.
This project is a monorepo managed with Bun and Turborepo.
For development setup, build and test commands, release conventions, and contribution guidelines, see CONTRIBUTING.md.
Plugins I've personally used and highly recommend! Some of these are genuinely underrated and have massive potential.
| Name | Use case | Description |
|---|---|---|
| opencode-quota | Keep track of your provider subscriptions in OpenCode | Token usage and quota tracking for Anthropic, OpenAI, Copilot, and more—reports in terminal with zero context pollution. |
| opencode-snippets | Expand #tags into text anywhere, instantly |
Hashtag-based snippet expansion. Just type #name to inject pre-defined code blocks, configs, or prompts inline. You can even put them in commands. |
| opencode-dynamic-context-pruning | Caps token waste from stale context | Context-aware compression intelligently prunes old tool outputs to keep context lean and reduce token burn. |
| cc-safety-net | Prevents dangerous commands like rm -rf and git reset --hard |
Intercepts destructive git and filesystem commands before they execute, giving you a chance to abort before your agent deletes your entire project. |
| opencode-agent-identity | Distinguish which sub-agent said what in multi-agent sessions | Per-message attribution so each agent knows its role and which message came from which source. |
Distributed under the Mozilla Public License 2.0.
This project is independently developed and maintained. It is not affiliated with the OpenCode team.
Made for the love of the game ¯\(ツ)/¯




