anomalyco / anomalyco/opencode
Web/Desktop model picker permanently hides catalog models that lack a family field (e.g. opencode-go/omen-alpha)
@Hona is already working on this.
Since Sep 6, 2026.
- Dominant language
- TypeScript
- Stars
- 209k
- Forks
- 27.5k
- PR merge metrics
- PR metrics pending
Description
Description
Catalog models that lack a family field are permanently hidden from the web UI / Desktop model picker, while the TUI and the server API still return them.
Concretely: opencode-go/omen-alpha (released 2026-09-04) is the only model of its provider without a family key in the catalog. It never shows up in the model picker of the web UI or the Desktop app, even though GET /config/providers and /api/model both include it, and the TUI lists it.
Root cause in packages/app/src/context/models.tsx:
latest()groups models with remedagroupBy((x) => x.family)and keeps only the newest model per group.- remeda's
groupBydrops items whose mapper returnsundefined(verified against current remeda:pipe([{ family: undefined }], groupBy((x) => x.family))→{}), so a family-less model lands in no group and never enterslatestSet. visible()then hides it: itsrelease_dateis valid, so the!date?.isValid → showfallback doesn't apply either.- The picker list is built from
visible()-filtered items, so there is also no way to manually re-show the model.
Suggested fix: groupBy((x) => x.family ?? "_none"), or treat family-less models like date-less ones in visible().
Workaround (confirmed working): give the model a family via config override:
{
"provider": {
"opencode-go": {
"models": {
"omen-alpha": { "family": "omen" }
}
}
}
}
After restarting, the picker shows the model (tagged as latest).
Related: #45934 (same file, but a different filter branch — the 6-month release window), #28484 (feature request to surface this visibility filter).
OpenCode version
1.18.11 (CLI/web) and 1.18.29 (Desktop) — packages/app/src/context/models.tsx is identical in both tags.
Steps to reproduce
- Have a connected provider whose catalog entry lacks
family(e.g.opencode-go/omen-alpha). - Open the web UI model picker (or Desktop): the model is absent from its provider section.
GET /config/providerson the same server: the model is present.- Apply the config override above and restart: the model appears.
Operating system
Windows 11
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.