OpenCode 2.0's Code Mode collapses MCP tool calls to one round trip

The 212k-star coding agent's biggest rebuild: one local service behind terminal, desktop and web, background subagents, async shell — and v1 plugins break.

Nowline OCT 15 3:00 PM banner

Top AI stories from the last hour

Top AI stories from the last hour

Copy markdown

  • Code Mode scripts your MCP tools, no round trip per call

    OpenCode 2.0 ships @opencode/codemode, a minimal JavaScript interpreter that turns every MCP server and OpenAPI endpoint into a callable function, and it's on by default for all MCP servers. Instead of one model round trip per tool call, the agent writes a single script that calls many tools and loops over results — a task that took three calls (list issues, then save each) becomes one — so you can wire up dozens of servers without the tool list eating your context window before the model starts reasoning.

  • One local service now sits behind terminal, desktop and web

    The server starts automatically as a single background process on your machine, and the terminal, desktop and web interfaces all attach to it — so a session you start in the terminal keeps going in the desktop or web app, and you can expose it to other machines. The rewritten API (@opencode/client) also hands agents real control over their environment: create a git worktree for a task, move an existing session into it, or find and interrupt a stuck one.

  • Background subagents and an async shell keep the main loop moving

    You can hand code review to a subagent running a different model while your foreground session keeps taking prompts, and long commands like bun test or a build now run asynchronously — the agent gets pinged when they finish instead of blocking. A ctrl+b hotkey drops a running foreground task or subagent to the background.

  • Before you upgrade: v1 plugins are dead and the server API was rewritten

    2.0 breaks plugins written for 1.0, integrations built on the old server API need updating, and tui.json moved to json. Auto-updates have been off since v1.19.0, so the jump is deliberate: get to the latest 1.x, then run opencode upgrade --major (or /update in the terminal). Audit your plugin stack before you cut over.