Harnesses
OpenCode
Adapter ID
opencode
Vendor
open source
Docs
Scope
Project
Native
5 of 10
Emulated
1 of 10
Planned
4 of 10
Round-trip
Digest-verified
The open-source terminal agent. Everything core maps natively, including commands and subagents.
Pack & unpack
# capture an existing OpenCode project as a bundle
uap pack --from opencode
# install a bundle into a OpenCode project
uap unpack --to opencode
# convert from OpenCode to any other harness
uap convert --from opencode --to <harness>Where components land
Paths are project-scope, relative to the directory you pack/unpack. Every location below is where OpenCode actually reads the component — verified against the official docs.
| Component | Location | Support |
|---|---|---|
| Instructions | AGENTS.mdManaged regions. | Native |
| Commands | .opencode/commands/<name>.md | Native |
| Subagents | .opencode/agents/<name>.mdInstalled with mode: subagent. | Native |
| Skills | .opencode/skills/<name>/ | Native |
| MCP servers | opencode.jsonLocal servers use a command array + environment map. | Native |
| Hooks | .opencode/plugins/ (JS shim) | Planned |
| Permissions | opencode.json permission block | Planned |
| Setup | plugin | Planned |
| Env | — | Planned |
| Files | project root | Emulated |
Fidelity notes
- Components marked Native round-trip losslessly —
pack(unpack(D)) ≡ D, digest-verified by the conformance suite. - Components marked Emulated install a faithful approximation and are flagged in the fidelity report so nothing is silently lost.
- Components marked Planned are reported as skipped today; the target location shown is where the adapter will install them.