Most terminal coding agents bolt a UI onto one vendor's model and call it a day. OpenCode inverts that: the agent is a headless server, and everything you touch — the terminal TUI, the desktop app, an IDE plugin — is just a client talking to it over HTTP. That one decision is why it can stay model-agnostic and surface in places a vendor-locked tool never reaches.
What Sets It Apart
- Client/server by design.
opencode serveexposes an OpenAPI 3.1 endpoint (default port 4096); the TUI, desktop app, and IDE plugins are interchangeable front-ends, and the generated SDK lets you script the agent or build your own client. The server can even run somewhere else than where you're typing. - No model allegiance. You configure API keys for whatever provider you want — Anthropic, OpenAI, Google, local models — instead of being tied to whoever shipped the CLI. OpenCode Zen offers a curated list if you don't want to pick.
- Two agents, two trust levels. A read-only
planagent analyzes and proposes, a full-accessbuildagent executes, with permission-gated shell commands. LSP integration means edits are language-server-aware, not blind text patches. - Sessions are shareable.
/sharemints a link to the current conversation — useful for handing a debugging trail to a teammate.
Who It's For
Great fit if you want a coding agent you can point at any model, embed in your own tooling via the API, or run as a shared backend across editor and terminal. Look elsewhere if you'd rather have a single opinionated, batteries-included experience tied to one provider — the flexibility here means more configuration up front, and the desktop app is still beta.