anomalyco / anomalyco/opencode
[BUG] Desktop model picker omits deepseek-flash (DeepSeek V4.1 Flash) although server API and CLI expose it
@Hona is already working on this.
Since Sep 11, 2026.
- Dominant language
- TypeScript
- Stars
- 209k
- Forks
- 27.5k
- PR merge metrics
- PR metrics pending
Description
Description
On the OpenCode desktop app (v1.18.30, Windows 11), the model picker does not list deepseek/deepseek-flash ("DeepSeek V4.1 Flash"), even though every other layer exposes it:
- DeepSeek API serves it (
GET https://api.deepseek.com/models) - models.dev registers it
- the running server's
GET /config/providersincludes it - the CLI
opencode modelslists it
The picker only shows the 3 older entries:
- DeepSeek V4 Flash (
deepseek-v4-flash) - DeepSeek V4 Flash Vision Exp (
deepseek-v4-flash-vision-exp) - DeepSeek V4 Pro (
deepseek-v4-pro)
Environment
- OpenCode desktop v1.18.30 (channel
latest,@opencode-aidesktop) - CLI
opencode --version→ 1.18.30 - Windows 11 (build 10.0.26200)
- Provider: DeepSeek (official API, provider id
deepseek) - Config
opencode.json:{ "$schema": "https://opencode.ai/config.json", "model": "deepseek/deepseek-flash", "small_model": "deepseek/deepseek-flash" }
Steps to reproduce
- Configure the DeepSeek provider (auth via
/connect/opencode auth login). - Note that
deepseek-flashis the new model id for DeepSeek V4.1 Flash (released 2026-09-10; the provider currently also routes the legacy iddeepseek-v4-flashto V4.1 Flash). - Open the desktop model picker.
Expected
"DeepSeek V4.1 Flash" (deepseek/deepseek-flash) appears in the DeepSeek section of the picker.
Actual
Only 3 DeepSeek models appear; deepseek-flash is missing. New sessions fall back to the last-used model (deepseek-v4-flash), and config.model = deepseek/deepseek-flash is effectively ignored for the primary agent.
Evidence
1. Running server GET /config/providers returns (deepseek provider):
deepseek-v4-flash-vision-exp -> DeepSeek V4 Flash Vision Exp
deepseek-v4-flash -> DeepSeek V4 Flash
deepseek-v4-pro -> DeepSeek V4 Pro
deepseek-flash -> DeepSeek V4.1 Flash <-- present on the server
2. Running server GET /config returns:
{"model":"deepseek/deepseek-flash","small_model":"deepseek/deepseek-flash", ...}
3. CLI lists it:
$ opencode models
deepseek/deepseek-flash
deepseek/deepseek-v4-flash
deepseek/deepseek-v4-flash-vision-exp
deepseek/deepseek-v4-pro
4. DeepSeek API GET /models returns:
{"object":"list","data":[{"id":"deepseek-flash",...},{"id":"deepseek-v4-pro",...}]}
5. Desktop GUI picker omits it (only V4 Flash / V4 Flash Vision Exp / V4 Pro shown).
Impact
Desktop users cannot select the new deepseek-flash (V4.1 Flash) alias. It is mostly cosmetic today because the provider routes deepseek-v4-flash to V4.1 Flash, but the new model id is unselectable from the GUI and config.model does not take effect for the primary agent.
Possible cause
The desktop picker appears to filter/caches the provider model list (e.g. a "recents" filter and/or a bundled/stale registry) rather than rendering the live server list, so newly added model ids are omitted even though the server exposes them.
Related issues
- #45934 web UI hiding models visible in TUI
- #40592 Custom provider models missing from /model TUI picker provider sections in 1.18.10 — caused by recents filter
- #43805 DeepSeek-v4-flash-free model missing from OpenCode's Zen provider dropdown despite existing in /zen/v1/models API
- #47120 Zen lists muse-spark-1.3-contributor-free, but OpenCode 1.18.27 omits it
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.