Repository navigation
Description
Summary
In the TUI /models picker, the generic opencode provider only lists a subset of the free models exposed by /api/model. The missing models can still be selected by typing their exact ID in the picker search, and they work when passed with --model. This makes several free models effectively undiscoverable unless the user already knows they exist.
Environment
- opencode version: 2.2.1
- OS: Linux 7.0.0-38-generic (Ubuntu 24.04, x86_64)
- Terminal: WezTerm, TERM=xterm-256color, COLORTERM=truecolor
- Shell: /bin/bash
- Install/channel: latest
- Active plugins: none found in config
- Account: OpenCode Go connected (
opencode auth logout opencode-gonot applied;OPENCODE_DISABLE_FREE_MODELSis not set)
Reproduction
- Connect an OpenCode account (in this case OpenCode Go).
- Open the TUI in a project and run
/models. - Expand the generic OpenCode provider (not OpenCode Go).
- Observe that only a subset of free models is listed, e.g. Big Pickle, Beam Free, Flint 40B Free, and Nemotron variants.
- Note that
opencode/glm-5.3-flash-free,opencode/deepseek-v4.1-flash-free, andopencode/mimo-v2.6-flash-freeare absent from the list. - Type
glm-5.3-flash-free,deepseek-v4.1-flash-free, ormimo-v2.6-flash-freeinto the/modelssearch field: the model is found and can be selected. - Confirm it works outside the picker:
opencode run --model opencode/deepseek-v4.1-flash-free "say OK"
Expected Behavior
The generic OpenCode provider in /models should list every enabled model exposed for that provider, including all free models returned by /api/model.
Actual Behavior
The picker lists only part of the opencode provider's free models. Missing entries include:
opencode/glm-5.3-flash-freeopencode/deepseek-v4.1-flash-freeopencode/mimo-v2.6-flash-free
They remain selectable via search and via --model, so this is a display/filtering issue rather than a credential or provider-availability issue.
The server exposes 8 free opencode models via /api/model:
opencode/beam-freeopencode/big-pickleopencode/deepseek-v4.1-flash-freeopencode/flint-40b-freeopencode/glm-5.3-flash-freeopencode/mimo-v2.6-flash-freeopencode/nemotron-3.5-lightning-freeopencode/nemotron-3.5-super-vl-free
Additional Context
OPENCODE_DISABLE_FREE_MODELSis not set in the shell or in the service environment./reloadandopencode service restartdo not change the picker contents.- No project config or policy was found that disables these models.
- Workaround: search the exact model ID in
/models, or set it in config / useopencode run --model .... - Impact: users may believe only 4 free models are available and never discover the others.
Activity
opencodejr commentedon Oct 29, 2026
Thanks for the detailed report. I tried this on 2.2.1 and couldn't reproduce it.
/api/modelreturns all eight freeopencodemodels, and they all have the same cost data (input price 0)./modelspicker's grouping and sorting code against that list, with an empty search and nothing in Favorites or Recent. All eight end up together: under OpenCode, or in a separate Free group at the very bottom of the list if the new-designs experiment is on.With an empty search, the picker leaves a model out of its provider group in one case only: when it is already listed under Favorites or Recent at the top. This is intended, so the same model isn't listed twice. Search skips those sections, which matches what you saw when searching.
Could you check a few things?
GLM-5.3-Flash Free,DeepSeek V4.1 Flash FreeorMiMo-V2.6-Flash Freelisted under Favorites or Recent at the top?/modelslist, scrolled to the bottom, and the output ofopencode api GET /api/model | jq -c '.data[] | select(.providerID=="opencode") | {id, cost, status, enabled}'.If the models are in Recent or Favorites, the picker is working as designed. Listing them under their provider as well would then be a feature request.
AndiKod commentedon Oct 31, 2026
Hi. Sorry for the response delay.
I'm now on the v2.2.5 version and on my side the listing of available Free Models in the basic OpenCode provider seems to be fixed, witch is great. Yet, it looks like the "Beam Free" model from the OpenCode-Go list/provider is only shown via search, but not in the normal list. I'm testing it as daily driver for the trivial chats so I can confirm it's indeed available & works.
To get around that, I now have a Bash script printing my usage meters and all the available Free models of the moment, on all providers, so I can compare with the TUI menu lists.
opencodejr commentedon Nov 1, 2026
Closing this for now because we haven't heard back. On 2.2.1,
/api/modelreturned all eight freeopencodemodels with the same cost data. In the picker's grouping logic they all stay together, either under OpenCode or in the Free group at the bottom of the list. With an empty search, the picker takes a model out of its provider group only when it is already shown under Favorites or Recent at the top, and that's intended.If the three models still don't show up anywhere in the list, please comment here with a screenshot of the whole
/modelslist, scrolled to the bottom, and theopencode api GET /api/modeloutput from my earlier comment, and we can reopen this. If they turn out to be under Recent or Favorites and you'd like them listed under their provider as well, please open a feature request for that.