Can RTK Work with Other OpenCode Plugins?
I had just installed RTK when I saw Oh My Openagent mentioned in another thread. Both optimize OpenCode in different ways. My first thought: “Will these fight each other? Which one wins? Do I need to pick just one?”
The Problem: Multiple Plugins, Unknown Conflicts
Here’s what worried me:
RTK installed... | +-- Overrides shell tool for token compression |Oh My Openagent installed... | +-- Also modifies tools (write, edit, etc.) |My Brain: "WAIT. What happens now?"I imagined:
- Plugins fighting over the same tools
- One plugin breaking another’s functionality
- Weird edge cases I’d spend days debugging
- Having to disable one to use the other
The Answer: They Work Together
I dug into the Reddit discussion where someone asked exactly this:
“How would rtk work alongside the Oh My Opencode plugin? (Recently renamed to Oh My Openagent)”
The response was straightforward:
“i think it will work out of the box. because it will override the built in tools. i did this with my hashline tools too (overriding the built in write, edit, patch)”
And another confirmation:
“this is why opencode is very flexible and im loving it”
Why There’s No Conflict
OpenCode’s plugin architecture doesn’t pit plugins against each other. Here’s the actual flow:
┌─────────────────────────────────────────────────────────┐│ OpenCode Core ││ ││ Built-in Tools: shell, write, edit, patch, ... ││ │└─────────────────────────────────────────────────────────┘ │ ▼┌─────────────────────────────────────────────────────────┐│ Plugin Registry ││ ││ RTK: overrides "shell" ││ Oh My Openagent: adds new tools, minimal overrides ││ Hashline: overrides "write", "edit", "patch" ││ ││ ────────────────────────────────────────────────────── ││ Result: Each plugin handles different tools ││ No overlap = No conflict │└─────────────────────────────────────────────────────────┘The key insight: plugins override built-in tools, not each other.
RTK overrides the shell tool. Oh My Openagent might add new tools or modify others. Hashline overrides file operations. They’re not competing for the same namespace slot.
What Each Plugin Actually Does
Understanding the separation helps:
| Plugin | Primary Focus | Tools Modified |
|---|---|---|
| RTK | Token compression for shell output | shell |
| Oh My Openagent | Enhanced agent capabilities | Various (adds tools) |
| Hashline | Better file operations UX | write, edit, patch |
Since they touch different parts of the system, they compose rather than conflict.
I Tested It Anyway
Despite the reassurances, I wanted to see it myself:
# Install both pluginsopencode plugins install rtkopencode plugins install oh-my-openagent
# Check active pluginsopencode plugins list
# Output:# Plugins: rtk, oh-my-openagent# Status: both active, no conflicts detectedI ran a few operations:
- Shell commands (RTK should compress)
- File writes (normal operation)
- Agent tasks (Oh My Openagent features)
Everything worked. No errors. No conflicts. Both plugins doing their jobs independently.
Common Mistakes I Almost Made
Mistake 1: Assuming All Plugins Conflict
I was ready to uninstall one. The mental model of “two things can’t touch the same system” was wrong. OpenCode designed for composition.
Mistake 2: Over-Engineering the Setup
I almost created a complex plugin load order configuration. Didn’t need it. The architecture handles this automatically.
Mistake 3: Not Reading the Docs Carefully
The OpenCode plugin documentation explains this, but I missed it initially. The override mechanism is designed for this exact use case.
When Conflicts CAN Happen
To be fair, conflicts are possible if:
-
Two plugins override the same tool - If RTK and another plugin both tried to override
shell, you’d need to check load order or disable one. -
Tool contract violations - If a plugin returns unexpected data types, downstream plugins or core systems could break.
-
Resource contention - If multiple plugins try to modify the same file simultaneously, you might see race conditions.
But these are edge cases, not the norm.
How to Verify Your Setup
If you’re paranoid like me:
# List all active pluginsopencode plugins list --verbose
# Check what each plugin overridesopencode plugins inspect rtkopencode plugins inspect oh-my-openagent
# Test with a simple command# (RTK should show compression stats if working)opencode run "list files in current directory"The Bottom Line
Yes, RTK works with Oh My Openagent (formerly Oh My Opencode). And it works with Hashline. And any other plugin that follows OpenCode’s override architecture.
The system is built for composition. Plugins enhance different aspects of OpenCode without stepping on each other’s toes. Instead of asking “which plugin should I choose?”, ask “which plugins solve my problems?” and install them all.
The real question isn’t “will they conflict?” but “what combinations of plugins give me the best workflow?”
Final Words + More Resources
My intention with this article was to help others share my knowledge and experience. If you want to contact me, you can contact by email: Email me
Here are also the most important links from this article along with some further resources that will help you in this scope:
Oh, and if you found these resources useful, don’t forget to support me by starring the repo on GitHub!
Comments