opencode
- The screenshot opencode never sent
Local vision models on a Radeon 680M read test screenshots almost perfectly. Three opencode versions sent an error string instead until one config key was set.
- OpenCode didn't want an account. It wanted a model name.
A forwarded warning said OpenCode 2.x needs an opencode.ai account for self-hosted models. It doesn't. It needs you to name the model.
- My agent guardrails passed every test. Then I used them.
Weeks of tests against a scripted fake model, then one evening of real work with my coding-agent templates: three complaints, six findings.
- Lock OpenCode 2.x to your self-hosted model
Stop OpenCode 2.x from picking its hosted free model: name your local model or disable the opencode provider, then prove it with a PoC script.
- 105 identical commands and other ways local agents fail
1,655 agent transcripts from a 3090 bench: killed runs wrote longest replies four times those of passing runs, loops never passed, edits missed.
- Most models passed the scripts. The ledgers split them
Which local models passed which coding tasks on one RTX 3090: nearly all wrote the small CLI tools, and no model passed every Spring Boot run.
- Twenty-one agent runs on a laptop iGPU, none merge-ready
Seven local MoE models ran three coding tasks each on a Radeon 680M. A blind review graded all 21 runs and found none merge-ready.
- My agents got their own config. Two still read mine.
A separate config dir per coding agent kept my files untouched. Claude Code and OpenCode still read my ~/.claude, and OpenCode sent a prompt to a hosted model.
- In opencode 1.19.5, my workaround protected nothing
I renamed model keys so opencode wouldn't force top_p on my local models. In 1.19.5 it matches the id I sent anyway, and the qwen rule is gone.
- Another guard's test list found holes in mine
114 example commands from a separately built shell-parsing guard went through my regex guard. Most held. The worst gap was a guard that could quietly vanish.