Extensions, Skills, and MCP
An Extension is an installed package that can add capabilities to OpenCode Superapp and OpenCode. A package can be declarative-only, run background code, add a right-panel app, or combine those approaches.
Extensions can contribute:
- Commands and message-composer actions.
- Apps that open in the right panel.
- Skills that teach OpenCode agents a workflow.
- MCP servers that give OpenCode agents tools and context.
- Downloadable resources such as a local model.
There is no separate Plugin package or nested Plugin object. When an Extension
needs executable behavior, its optional JavaScript or TypeScript main file is
the code that runs.
Why Skills and MCP still have pages
Section titled “Why Skills and MCP still have pages”Extensions shows installed packages, their publisher, version, trust, compatibility, included capabilities, and management controls.
Skills and MCP show OpenCode’s live runtime inventories. A package-owned Skill or MCP server appears in its Extension details and in its runtime page. A Skill or MCP server added directly to OpenCode appears only in Skills or MCP because it has no Extension package, publisher, or version.
Install a local Extension
Section titled “Install a local Extension”Open Extensions, choose Install, then choose:
- Install from folder for an unpacked Extension directory.
- Install package for an
.ocxarchive.
Selecting a source both imports and installs it. Superapp validates and copies a
versioned snapshot into its app-data package store. Editing the original folder
does not modify the installed copy. To update, increase version and install it
again.
Local executable packages are labeled Unverified local extension. Their code runs in a separate Extension Host so a crash does not take down Superapp or OpenCode, but this is not an operating-system sandbox. Only install code you trust.
What is .ocx?
Section titled “What is .ocx?”.ocx is OpenCode Superapp’s ZIP suffix for an Extension folder. It is not an
upstream OpenCode, VS Code, or operating-system format.
example.ocx├── package.json├── README.md├── icon.svg├── skills/├── mcp/└── src/The archive may contain those files at its root or inside exactly one top-level directory.
Enable, disable, and uninstall
Section titled “Enable, disable, and uninstall”Enable or disable applies to every contribution in the package. Disabling removes its right-panel apps, managed Skills, MCP configuration, and executable activation. Open tabs belonging to it close.
Extensions included with Superapp can be disabled when their license permits, but cannot be uninstalled. Local Extensions can be uninstalled from their detail page.
For one loose Skill, use Skills > Import Skill. For one direct MCP connection, use MCP > Add server. Use an Extension when you want a versioned, installable package or several related capabilities.
See Extension authoring to create a folder.