Repository navigation
Closed as not planned
Closed as not planned
Copy link
Description
Feature hasn't been suggested before.
- I have verified this feature I'm about to request hasn't been suggested before.
Describe the enhancement you want to request
Plan: OpenCode Go
Summary
Add a first-class auto model selector for the OpenCode Go subscription: a single selectable entry (for example opencode/auto or an "Auto" row in /models) that automatically chooses among the Go-eligible models for each request, instead of requiring the user to hand-pick one model and stick with it.
Problem
On the Go plan, /models exposes a large catalog of Go-eligible models, but selection is entirely manual and static per session. In practice this means:
- I have to guess the right model up front and switch manually as a task moves from cheap edits to hard reasoning.
- Simple/mechanical turns (renames, small edits, lookups) run on an expensive model and burn Go quota. Related: OpenCode Go quota is being consumed by models not present in my OpenCode/OMO automatic routing #44327 (quota consumed by models not intentionally used) and Billing dispute — unintended fallback consumed ~25% of my OpenCode Go limit #46894 (unintended fallback consumed ~25% of a Go limit).
- Conversely, hard reasoning turns can end up on a cheap model because switching mid-task is friction.
- It is easy to accidentally select a model that is billed differently or is not ideal for the plan.
Existing coverage is adjacent but not this:
- [FEATURE]: opencode could automatically use different models based on task type #8456 and [FEATURE] Multi-model orchestration: intent-based routing, vision delegation, turn-level advisor #34370 ask broadly for task-type / intent-based model selection.
- feat(session): confidence-gated model tier routing behind optional jev config #50859 is a PR implementing confidence-gated tier routing — indirect and still gated behind a config flag.
- [FEATURE]: Allow Go plan users to restrict which models the client can enable #41357 asks Go users to be able to restrict the selectable models (an allowlist), which is the opposite direction and would pair well with an auto selector.
- [FEATURE]: Improve Auto Router Error Messaging and Model Status Indicators #47893 / [FEATURE]:GitHub Copilot Auto Router Support #48768 reference "Auto Router" behavior for the Console/Copilot paths, not a general Go-plan selector.
So there is currently no built-in auto selector for OpenCode Go.
What I'm asking for
- An "Auto" choice in
/modelsfor the Go provider that is a real routing entry, not a static model. - Routing restricted to the Go-eligible catalog and aware of Go plan usage/limits, so it never silently drains quota on an out-of-plan model.
- Task-aware tiers, e.g. a fast/cheap tier for simple edits and tool calls, a stronger tier for planning/architecture/reasoning, and vision delegation when images appear ([FEATURE]: Auto-switch to vision model when images enter the agent loop (incl. tool-produced) #46794). The exact policy can borrow from [FEATURE] Multi-model orchestration: intent-based routing, vision delegation, turn-level advisor #34370's intent-based routing.
- User rules: a config block to shape the policy, such as preferred/denied models, an allowlist (ties into [FEATURE]: Allow Go plan users to restrict which models the client can enable #41357), and a cost/quota ceiling, with automation that pauses rather than overrunning the plan.
- Transparency: surface which model handled each turn (flat cost per turn is not enough — I want to see the routing decision, cf. [FEATURE]: Improve Auto Router Error Messaging and Model Status Indicators #47893).
Benefits
- Best model for each task without manual switching, at lower Go quota burn.
- Fewer accidental out-of-plan or overly expensive selections.
- Makes the Go subscription competitive with tools that already auto-route per task.
References
- Docs: https://opencode.ai/v2/docs/console/go/
- Related: [FEATURE]: opencode could automatically use different models based on task type #8456, [FEATURE] Multi-model orchestration: intent-based routing, vision delegation, turn-level advisor #34370, [FEATURE]: Auto-switch to vision model when images enter the agent loop (incl. tool-produced) #46794, feat(session): confidence-gated model tier routing behind optional jev config #50859, [FEATURE]: Allow Go plan users to restrict which models the client can enable #41357, OpenCode Go quota is being consumed by models not present in my OpenCode/OMO automatic routing #44327, [FEATURE]: Improve Auto Router Error Messaging and Model Status Indicators #47893
Metadata
Metadata
Assignees
Labels
No labels
Activity
github-actions commentedon Sep 25, 2026
This issue might overlap with existing feature requests. Please check:
Atroci commentedon Sep 29, 2026
One design point that might be worth building in from the start: an
autothat resolves the model once per session behaves very differently from one that resolves it per request.Within a single coding task the right model changes as the work unfolds: cheap for reads and mechanical edits, stronger after repeated test failures, back down once things pass. If
opencode/autois a resolution point that runs for every request (a provider or plugin hook that sees the request and the recent turn history, and returns a Go-eligible model), the routing policy can use what actually happened in the task, not just the first prompt. It would also let different policies plug in without OpenCode owning one fixed heuristic.Two details that matter for the quota problem you describe (#44327, #46894):
Disclosure: I work on Sabi (github.com/vizuh/sabi), a per-round scheduler that keeps the harness's own loop and credentials. It does not do in-session switching inside OpenCode today, so I'm interested in whether this lands as a hook rather than a built-in rule.
mixxermannipro commentedon Oct 2, 2026
I opened #52743 as a broader extension of the Auto model selector proposed here.
Instead of limiting Auto routing to Go-eligible models, the proposal explores a provider-agnostic routing layer that could select provider + model + reasoning effort based on the task, current subscriptions/quotas, API and cache pricing, capabilities, quality signals, latency, and user-defined priorities.
It also covers quota conservation, confidence-based decisions, automatic escalation/fallback, routing transparency, and eventually OpenCode-specific performance telemetry.
I think the Go Auto selector proposed here could be an excellent first implementation step toward that architecture.
Detailed proposal: #52743
neriousy commentedon Oct 21, 2026
Thanks for the detailed write-up. We're not planning an Auto entry for Go right now. You can get part of the way there today by giving agents their own models, for example a cheaper Go model for the
exploresubagent and a stronger one for your main agent: https://opencode.ai/v2/docs/agents#model. The broader discussion of task-based model routing is in #34370. Closing as not planned.