OpenCode 2.0 Rebuilds Its API and Runs the Agent as a Background Service
OpenCode 2.0 rebuilds the API, adds a JavaScript code mode and background subagents, and runs one shared server per machine; 1.0 plugins and the old server API break.

OpenCode 2.0 is a major overhaul of the terminal coding agent, and its most consequential change is architectural: the client/server split that power users once ran by hand now starts automatically as a single background process. The TUI, web and desktop apps attach to that process, and @opencode/client auto-discovers the local service, which the project says suits scheduled tasks.
The service can be exposed to other hosts, with /pair or opencode pair connecting other applications, and native apps are in the works. The team says the API now covers nearly any use case it found across its user base.
Code Mode adds a minimal JavaScript interpreter that converts MCP servers and OpenAPI endpoints into callable functions, letting an agent chain tool calls in a single round trip without Node.js VMs or QuickJS. Background subagents, optionally on a different model, and asynchronous shell commands let work continue while the primary agent takes new prompts; a hotkey moves slow foreground work to the background.
More than 80 internal plugins implement nearly every 2.0 feature, a constraint the team says keeps the Plugin API maintained. Upgrading requires a 1.x release, and 1.0 plugins and the old server API break, while tui.json config moves to json; the project suggests pointing OpenCode at its migration doc to handle the rest.
The bits that matter
- The 2.0 service runs as one background process per machine, shared by the TUI, web and desktop clients. Scripts using @opencode/client auto-discover it, the CLI exposes opencode api commands, and the service can be exposed to other hosts, with /pair or opencode pair connecting other applications; native apps are in the works.
- Code Mode's interpreter converts MCP servers and OpenAPI endpoints into callable functions, letting an agent chain tool calls in a single round trip without Node.js VMs or QuickJS. Every MCP server is opted in by default, which the project says keeps context bloat low even with a thousand added.
- Background subagents, optionally on a different model, and asynchronous shell commands let work continue while the primary agent takes new prompts. A hotkey moves a slow foreground command or subagent to the background, and the agent is notified when it finishes.
- More than 80 internal plugins implement nearly every 2.0 feature, a deliberate constraint the team says keeps the Plugin API maintained. TUI plugins are stable, and hot reloading lets the agent write a plugin mid-session and use it immediately.
- The @opencode/sdk packages the same code as the CLI for custom servers or environments such as Durable Objects, with an optional Effect-based API still in development. Upgrading from 1.x breaks 1.0 plugins and the old server API, and moves tui.json configuration.
Discussion analysis
Analysis details
5 comments analyzed. Analyzed .
The sample selects active discussion branches and includes available parent comments. It may omit parts of the full thread. Selected themes do not measure community opinion or how common a view is.
Provenance questions trail the Crush split
Whether 2.0 is a fork is unclear. The question builds on the premise that OpenCode was renamed to Crush and its original developer moved to that project; the clarification offered is that someone from OpenCode went to Crush while OpenCode continued as a rewrite that owns the name but not the code, with a link to a social media post as support. Provenance remains unresolved.
Installer progress bar stalls the download
A self-reported install took six minutes to reach 10 percent, attributed to progress-bar rendering rather than network speed; piping curl | sh through cat removed the rendering and the delay. That diagnosis is questioned on the grounds that terminal stdout should not be slow enough to matter, leaving the cause unconfirmed. The workaround is cheap, but the underlying bottleneck is unidentified.
V1 friction cleared, backgrounding caveat remains
The overhaul is judged a genuine quality improvement for daily sessions: skills and plugins reload automatically, a built-in skill edits configuration, sub-sessions communicate better, and configuration loads from the folder where a session is created rather than where the server started. Backgrounding is described as possibly not yet automatic, and the server/client model is cited as a reason not to switch harnesses.