The call count shrinks
OpenCode's 2.0 announcement describes Code Mode as a tool layer inside the agent. The model can search available tool catalogs, then send a TypeScript program to an interpreter. That program can call several tools and return a smaller result to the model.
The announcement's example finds GitHub and Linear tools. A later program reads open GitHub bugs once, creates three Linear issues in parallel, and returns only the new issue identifiers. This can cut repeated model turns and keep bulky intermediate data out of the conversation.
Token savings measure what the model reads. They do not measure what the program can change.
The program becomes the review unit
A sequence of individual tool calls leaves a visible trail by default. A compound program can put discovery, branching, concurrency, retries, and writes inside one execution. Review the whole program before treating a lower call count as lower risk.
Mark every external write. Set limits for fan-out, retries, time, and spend. Keep reads separate from writes when the host supports that split. If three ticket writes run in parallel, the receipt needs three results. One successful program exit is not enough.
The catalog is not permission
Finding a tool proves that the interpreter can name it. It does not prove that this session should call it. OpenCode's plugin documentation says plugins can respond to events and alter behavior. Its SDK documentation exposes a typed client for controlling a running server. Both are useful extension paths. Both make identity and scope part of the program contract.
Record which server supplied each tool, which account backs it, and which resources it can reach. Pin names or schemas when stable execution matters. Refuse a write when discovery returns an unexpected tool or changed input shape.
Version labels need a second look
The product article is titled "OpenCode 2.0." At the time of this read, the repository's latest-release endpoint reported tag v1.19.0, published on 11 October 2026. That mismatch may reflect separate product and package version tracks. It is enough reason to verify the exact install target instead of copying the article title into a package pin.
Fit four fuses
- Save the discovered tool names and their source servers.
- Review the full program, including branches, concurrency, and retry limits.
- Bind each mutating call to an identity, target set, and action ceiling.
- Keep one result per attempted effect, plus the program revision and reviewer.
The rack below drafts those requirements. Selecting every fuse does not run or approve a program.