Loading video...

Video Failed to Load

Go Home

Announcing plugins for OpenCode Desktop Make your own

52,755 views • 2 days ago •via X (Twitter)

26 Comments

Luke Parker's profile picture
Luke Parker2 days ago

Most features are refactored and shipped as built-in plugins already. Everything in this video was recorded from a build of the latest v2.2.0. Try the horror CRT effect yourself: `opencode plugin add github:Hona/opencode-crt` Slots and Registries will expand as I gauge community demand - show me what you ship!

avrl ☘'s profile picture
avrl ☘2 days ago

that's cool af!!

Luke Parker's profile picture
Luke Parker2 days ago

helll yeah

avrl ☘'s profile picture
avrl ☘2 days ago

exactly, maybe I'll experiment over weekend too!

Dither Dude's profile picture
Dither Dude1 day ago

Surely he will be a preinstalled plugin, which activates between 2am and 6am local time?

Pronsh's profile picture
Pronsh2 days ago

this is screaming fnaf... when are we getting animatronics

Alex Spînu's profile picture
Alex Spînu1 day ago

My brother in christ I have been waiting for this, thank you!

Santiago Santana's profile picture
Santiago Santana1 day ago

I was waiting for this!

Loftwah's profile picture
Loftwah2 days ago

Nice!

Luke Parker's profile picture
Luke Parker2 days ago

ty ty I've been wanting to ship this for AGESSSSS

endy's profile picture
endy1 day ago

@opencode woah! 🤯 i’ll try this out

Rohan's profile picture
Rohan2 days ago

Can a plugin intercept a tool call before it runs, say to block a shell command?

Luke Parker's profile picture
Luke Parker2 days ago

Yes, but not from the GUI plugin. GUI plugins only change the Desktop app's interface, and tools run on the OpenCode server, so you need a server plugin that registers `ctx.permission.hook("evaluate", …)`. That hook runs before each action. When `event.action` is `"shell"` and one of the commands in `event.resources` matches something you want to stop, set `event.effect = "deny"` and put the reason in `event.message`. The command then doesn't run, and the model sees the reason and keeps working. If plain patterns are enough, you don't need a plugin: add a config rule such as `{ "action": "shell", "resource": "git push *", "effect": "deny" }`, and use the hook only when the decision needs real logic.

squidlee's profile picture
squidlee1 day ago

@opencode @theo @jullerino take notes boys 📝

Aymane's profile picture
Aymane1 day ago

@grok what can I do exactly with this

dhany.exe's profile picture
dhany.exe1 day ago

Shipping features as built-in plugins is the right call — it turns the app into a platform, not just a product. The real test is whether third-party plugins survive version bumps without breaking. That's where most plugin systems go to die.

lalaland's profile picture
lalaland1 day ago

Does this apply to opencode web?

cat's profile picture
cat1 day ago

web please?

Divyendra Singh's profile picture
Divyendra Singh1 day ago

Of course someone made a horror CRT plugin already.

mike's profile picture
mike1 day ago

will this also come to opencode web?

HashVibe | AI & Web3 🛡️'s profile picture
HashVibe | AI & Web3 🛡️1 day ago

A poner a nuestros agentes a crear cositas.... 👀🔥

lalalalalalala's profile picture
lalalalalalala2 days ago

The docs say setup runs in every window, main only once. For a plugin watching files, I'd keep the watcher in main and expose events over typed IPC, so a second window doesn't double subscriptions. A two-window example would make that lifecycle concrete.

רותם שמואלי's profile picture
רותם שמואלי1 day ago

Well thank you, I can finally fix this bug

Eclar Khalid's profile picture
Eclar Khalid2 days ago

useful detail in the docs: the GUI switch and package removal are separate. `opencode plugin remove <package>` gives people a command-line removal route when troubleshooting a broken extension, alongside the switch in Settings > Extensions > Plugins.

Novaris's profile picture
Novaris2 days ago

Plugins are where these tools either take off or turn into a mess. Curious what the first wave of weird, useful ones looks like.

s.h's profile picture
s.h1 day ago

How to change the user prompt bubble color? It's good harsh.

Related Videos