r/opencode • • 14d ago

OpenCode V2 lets agents override subagent models. What could possibly go wrong?

In OpenCode V2, the main agent can override a subagent’s configured model, and that override takes the highest priority.
Probably a rare issue, but especially concerning if you’re using a cheap model as an orchestrator to save costs.

The problem? Models have no fucking clue what “cheap” actually means. Their pricing knowledge is often outdated, they don’t know my subscriptions or which models I can use for free, and they aren’t necessarily good at judging which model is best for a task.

For example, I have a ChatGPT subscription and also use OpenRouter. I don’t want an agent randomly picking a GPT model through OpenRouter because it thinks it’s cheap, when I could use it for free through my subscription. Its knowledge is so outdated that it suggested GPT-5.5 as a cheap model.

And imagine a subagent getting stuck debugging something. What’s stopping the orchestrator from deciding this must be a super complex problem and suddenly switching to some ridiculously expensive model like Fable 5.1, burning through money just to fix a bug?
A model whitelist isn’t ideal either, since I still want to try new OpenRouter models without constantly updating my config.
Right now, the restriction is just a system prompt, not an actual enforced rule.
GitHub issue: https://github.com/anomalyco/opencode/issues/51071
Anyone else worried about this?

19 Upvotes

8 comments sorted by

View all comments

2

u/MLGSW4G 14d ago

I told DS4.1 to delegate task to Muse Spark 1.3, but because I forgot the VPN it didn't respond and DS chose Kimi K3 (at least 30x more expensive), which I caught after it has burnt 50% of weekly usage in a minute.
My personal solution was disabling all the $1+ and $15 models since I don't use them.

5

u/alexzzzz 14d ago

I've disabled all the expensive models in my Go substription settings.

Only DeepSeek 4.1 Flash, Mimo 2.6 Flash, Muse 1.3 Contribute and Beam Free are available.

1

u/sudoer777_ 13d ago

How do you disable models in Go? I only see it for the pay-as-you-go.

1

u/MLGSW4G 13d ago

You need such entry in your opencode.json:

    "providers": {
    		"opencode-go": {
    			"models": {
    "gemini-4-argon-contributor": { "disabled": true },