What it is
OpenCode Go is a flat ten dollar per month plan, rate limited, with a set of models behind one CLI. Codex runs on my ChatGPT plan. Both plans subsidize my Claude usage, which is the whole point: the cheapest backend that passes the bar wins, and the bar does not move.
Plan tiers change. Check the vendor pricing pages rather than trusting a number on a page like this one.
Install
npm i -g opencode-ai
opencode --versionCheck the vendor docs for the current command.
Which model
The plan carries glm-5.3, glm-5.3-flash, kimi-k2.7-code, gpt-5.6-luna, deepseek-v4-flash and others. I do not treat them as interchangeable. Only glm-5.3 is calibrated on my repo.
- glm-5.3 is my calibrated choice for a scoped build with red tests and a small blast radius. Three of three green, zero P1 findings, on 2026-09-08.
- glm-5.3-flash is my draft choice for mechanical work: renames, index regeneration, doc moves, formatting.
- deepseek-v4-flash is a draft fallback for research, behind Claude Sonnet.
- kimi-k2.7-code is on hold. It deleted two localization calls and hardcoded English in their place. That is a P1.
- gpt-5.6-luna on OpenCode is on hold with a P2. It is the fastest lane I have measured, so it is a candidate for another round.
The pattern in those failures is worth naming. The cheap models did not fail on mechanics. They failed on domain judgement: a localization helper no test covered. Module 5 shows the fix, which is to name the rule in the pack.
The auto flag
My runner adds --auto to OpenCode only when DISPATCH_AUTO=1 is set. That flag auto approves every permission prompt. It is off by default, and I set it only for a lane I accept running unattended, in a worktree, on a branch that is not a main line.
The runner never passes the full bypass flags for either backend. Not once, not for speed.
Set it up
- Install OpenCode and sign in to the Go plan.
- Run one throwaway prompt to confirm the CLI works and the plan is active.
- Pick glm-5.3 for your first real lane. Do not start with the fastest model.
- Create a git worktree on a branch that is not master or main. Cheap builders never touch a main line branch.
- Run the lane with
DISPATCH_AUTOunset first, and watch what it asks permission for. Set it only once you are comfortable. - Read the diff yourself. Check the file list against your scope list before you read a single line of logic.
What you can do now
You have two cheap backends installed, and you know which model of each is calibrated: OpenCode glm-5.3, and Codex gpt-5.6-sol.
Next module
Module 5 is the piece that makes cheap models behave: the lane pack, and the runner that gates every lane.
Talk to Claude instead of typing to it.
Ducktate turns what you say into clean text, on your Mac, and pastes it anywhere.
Get early access