TL;DR: Anomaly released OpenCode 2.0 — a major overhaul of the open-source AI coding agent (208,000 GitHub stars, 950 contributors, ~16M developers monthly). The central change is architectural: the agent now runs permanently as a single background service, and the terminal UI, desktop app, and web interface are just clients of it. Plugins are now hot-reloadable — the agent can write a plugin for itself mid-session and use it immediately.
What OpenCode is and why it needed a 2.0
OpenCode is an open-source agent that writes code in your terminal, IDE, or desktop app. It’s free, works with 75+ model providers through Models.dev (including local models), can sign in with your GitHub Copilot or ChatGPT Plus/Pro account, and doesn’t store your code on its servers.
Version 2.0 isn’t a feature pack — it’s a shift of the architectural center. The team describes it as a rethink based on millions of daily users’ experience: “a system that can flex to everything an agent needs to be.”
The Service: one process, many clients
OpenCode had a client/server model from the start, but mostly power users took advantage of it. In 2.0 the server automatically runs as a single background process on your machine. Open the TUI — it connects to the service. Open the desktop app — same service. The web interface — same place.
Practical consequences:
- Sessions outlive the client. Close the terminal — the “fix the flaky test” session keeps working in the background; pick up the result from the desktop app.
- Programmatic access out of the box. The
@opencode/clientlibrary autodiscovers the local service — handy for scripts and, notably, scheduled tasks. There’s a CLI too:opencode api. - Remote access. The service can be exposed to other hosts, with applications pairing via
/pairoropencode pair— QR code through OpenTunnel (shipped in the fresh v2.0.29). Native mobile apps using this flow are in the works.
Plugins written on the fly
The second big bet of 2.0 is extensibility. Everything in the system is hot-reloadable: OpenCode can write a plugin for itself mid-session and start using it right away, no restart needed.
On top of that: Code Mode with git-worktree tools (worktree_create, worktree_list, worktree_remove), background tasks, MCP server support (the team’s examples include GitHub, Linear, Sentry), and an SDK that’s still shifting but already usable.
What the October patches added
Within a week of the 2.0 launch, v2.0.26 through v2.0.29 shipped. Highlights:
- Automatic response continuation — when a model hits its output-token limit, the response continues instead of cutting off;
- long reasoning without dropped streams — the streamed-chunk timeout went from 5 to 15 minutes for “thinking” models;
- native Windows ARM64 and official WinGet packages;
- session snapshots got cheaper and more resilient to crashes;
- provider account management right in settings.
The catch
Major versions don’t come free. 1.0 plugins are incompatible with 2.0, the server API is completely different, and the tui.json config moved. The team honestly suggests a life hack: point OpenCode itself at the upgrade doc — let the agent migrate your configuration for you.
Why this is close to home
We build MaxGraph — memory for AI agents — and two moves in OpenCode 2.0 matter to us.
First, the service as a world model. Once an agent stops being “a program in a terminal” and becomes a persistent process that clients and schedules connect to, the question of long-term memory becomes urgent: the service lives for weeks, yet each session’s context still starts from zero.
Second, MCP out of the box. OpenCode connects MCP servers, and MaxGraph is exactly that kind of server: a memory graph the agent reads at the start of work and updates as it goes. The “agent-as-service + memory-as-service” pairing is precisely the architecture where an agent on Monday remembers what it did on Friday.
FAQ
Is OpenCode 2.0 free? Yes, open source with free built-in models. You can connect any of 75+ providers or sign in with existing GitHub Copilot / ChatGPT Plus/Pro accounts.
What does 2.0 break from 1.0?
1.0 plugins don’t work, the server API changed completely, tui.json moved. Everything else is backwards compatible; the migration can be delegated to the agent itself.
Is this a Claude Code / Cursor replacement? It’s an open-source alternative in the same class — open code, any models, and now a service you can build your own clients and automations against.
What does agent memory have to do with it? Service + schedules + background tasks = the agent works continuously, not on demand. A permanent agent without permanent memory is amnesia at industrial scale. MCP memory like MaxGraph closes exactly that gap.
What’s next
- Memory for an agent in 10 minutes: the Claude Code guide — works the same way with OpenCode, via MCP.
- How hybrid memory search works: graph + vectors.
- What a forgetful agent costs: our token savings benchmark.
Give your agent memory
7-day trial, no card. Installation is one prompt — your agent does the rest.