Repository navigation
Description
Description
opencode/glm-5.3-flash-free is missing from the model list for my signed-in Zen account, so it can't be selected or used:
opencode modelslists only the paidopencode/glm-5.3-flashandopencode/glm-5.3.opencode run -m opencode/glm-5.3-flash-free "hi"→Error: Model unavailable: opencode/glm-5.3-flash-free(exit 1)./modelsin the desktop app shows no "GLM-5.3-Flash Free".
Where the model does appear (all checked today, 2026-10-16):
- Console docs "Free models" + pricing table:
glm-5.3-flash-free, Free. GET https://opencode.ai/inference/v1/modelswithout auth → 88 models, includesglm-5.3-flash-free.- Same request with my Zen credential → 40 models, does not include it (
cache-control: no-store, so not an edge cache). - The app's own catalog cache already has it:
kvkeymodels-dev:catalogin~/.local/share/opencode/opencode.db(refreshed 2026-10-16 21:49) contains the entry with cost 0,limit.context200000,limit.output32000.
The model is registered for my account — POST /inference/openai/v1/chat/completions with "model": "glm-5.3-flash-free" returns 403 FreeTierError ("free tier can only be used from within OpenCode"), while bogus ids (definitely-not-a-real-model-xyz, not-a-real-model-free, glm-5.2-flash-free) return 400 "Upstream request failed: Model is unavailable.". So it resolves, it just is not in the list the client reads.
Not local state or client version:
- Updated 2.0.30 → 2.0.31 and restarted the desktop app; the background service restarted too (
/api/inforeports 2.0.31 with a new pid). Still missing. User-Agent: opencode/2.0.30,opencode/2.0.31,opencode-desktop/2.0.31, plusx-opencode-client: desktop, all return the identical 40-model list.- The account list changes between calls minutes apart (
cat-jam-freedisappeared,jev-1.13-freeappeared), and containsjev-1.13-free, which is not on models.dev. - No config workaround: adding an entry under
providers.opencode.modelsdoes not add a model to theopencodeprovider.
Related: beam-free fails differently, with 403 RegionError ("This model is not available in your country"), so region gating is reported separately from this.
Plugins
None.
OpenCode version
2.0.31 (Windows desktop app, auto-update channel latest)
Steps to reproduce
- On 2.0.31, sign in to Zen with
/connect(OAuth device login, personal org). opencode models | Select-String glm→ onlyopencode/glm-5.3-flashandopencode/glm-5.3.opencode run -m opencode/glm-5.3-flash-free "Reply with exactly: PONG"→Error: Model unavailable: opencode/glm-5.3-flash-free.- Compare
GET https://opencode.ai/inference/v1/modelswith and withoutAuthorization: Bearer <zen token>→ 88 models (includesglm-5.3-flash-free) vs 40 models (excludes it).
Screenshot and/or share link
N/A
Operating System
Windows 11 (Microsoft Windows [Version 10.0.22631.3527], x64)
Terminal
OpenCode desktop app (not a terminal client)
Activity
opencode-agent commentedon Oct 16, 2026
Thanks for the very thorough report. GLM-5.3-Flash Free not showing up for your signed-in Zen account sounds frustrating. From what you found, the app isn't the cause: when you're signed in, OpenCode uses the model list your Console account returns, and that account-specific list is what leaves
glm-5.3-flash-freeout (40 models signed in vs. 88 without auth). The service that builds that list isn't in this repository.Account and Console/Zen support isn't handled in GitHub issues, so please email help@anoma.ly with the details: your findings here and the time you checked. If you've already emailed, the team will get to it, especially now that we've seen it here. Please keep tokens, email addresses and other account details out of this public issue and put them only in the email.
Related issues, in case they help:
opencode/*free models failing for everyone with "Model is unavailable"The bot will close this issue in 1 day.
jinhuang712 commentedon Oct 16, 2026
Adding cross-client reproduction and one data point that contradicts the original report.
Not fixed in 2.0.31. Verified on
@opencode/cli2.0.31 (upgraded from 2.0.30 today).opencode modelsstill lists 19opencode/*models;glm-5.3-flash-freeabsent.opencode run -m opencode/glm-5.3-flash-free "hi"→ sameError: Model unavailable.--standalone(fresh server, no stale state), so this is not the catalog-refresh race from fix(core): fresh standalone run rejects a model before catalog refresh completes #56119.provider.opencode.modelsinopencode.jsondoes not register it either — config entries patch existing models, they don't add new ones.Also reproduces on the iOS app.
/modelson the iPhone build does not show it either, so this is cross-client rather than desktop-only.Data point that contradicts the original report: with my Zen credential,
GET /inference/v1/modelsreturns 88 models and includesglm-5.3-flash-free(cache-control: no-store), not 40-without. The entitled list appears to vary by account or region.The account-scoped config the client itself fetches contains it.
GET https://opencode.ai/console/api/v2/configwith the same credential returnsproviders.opencode.modelswith 86 entries, includingglm-5.3-flash-freewith full metadata (cost.input/output: 0,limit: {context: 200000, output: 32000}, capabilitiestext/image/video/pdf→text). The client then exposes only 19 of those 86.That points at a client-side filter over the server's own account config rather than a missing entitlement. For reference,
models.dev/api.jsonlists 126 for this provider and also includes the model.soybean-ccccnnn commentedon Oct 17, 2026
Root cause for at least one affected account — it is not a client-side filter.
The client's visible
opencodelist equals (account config models withoutdisabled: true) ∩ models.dev. Verified exactly on 2.0.32: 38 = 38, zero diff in either direction.GET https://opencode.ai/console/api/v2/config(same Zen credential) returns 84opencodemodels for this account; 46 of them carry"disabled": true, includingglm-5.3-flash-free:A free model that is offered on the same account (
deepseek-v4.1-flash-free) has nodisabledkey. So the model is entitled but explicitly disabled for this account, which is whyopencode models,/models,--model, and the iOS picker all hide it.beam-freeandnemotron-3.5-super-vl-freeare disabled the same way (beam-freeadditionally returns403 RegionError).This also explains the signed-in vs signed-out difference in
/inference/v1/models(40 vs 88 on my account): the signed-in response is the account-scoped set, the unauthenticated one returns the full catalog.Still reproducible on 2.0.32 after the update, and
--standalonebehaves the same, so it is not stale client state. The enablement decision is server-side, i.e. the Console/Zen path — I'm emailing help@anoma.ly with the account-specific details as requested.soybean-ccccnnn commentedon Oct 17, 2026
Recording what changed (and what did not) after adding a payment method to this account.
Before:
GET https://opencode.ai/console/api/billing/payment-methodsreturned[]. A card (Stripe) was added on 2026-10-17 and is now the default payment method.Nothing else changed:
GET https://opencode.ai/console/api/providersstill reportsfreeModelsEnabled: true,newModelsEnabled: false,modelManagementEnabled: false,modelCount: 86,enabledModelCount: 40, andupdatedAt: "2026-10-15T08:40:27.000Z"— identical before and after, so the enablement set was not recomputed.{"apiId": "glm-5.3-flash-free", "enabled": false, "available": true, "status": "active"}(same forbeam-freeandnemotron-3.5-super-vl-free).GET https://opencode.ai/console/api/configwhitelistis still 38 entries and still omitsglm-5.3-flash-free; the client list is unchanged andopencode run -m opencode/glm-5.3-flash-freestill returnsModel unavailable.GET https://opencode.ai/console/api/billing/statusis still{"billingMode":"prepaid","mode":"pay-as-you-go","balanceMicroCents":"0","availableMicroCents":"0"}; auto-recharge is off, so no credits were purchased.So adding billing details on its own does not enable the model for this org, and because
modelManagementEnabledisfalsethe org cannot enable it from the Console UI either.available: truewithenabled: falsesuggests an enablement decision rather than a funding one.soybean-ccccnnn commentedon Oct 17, 2026
Resolved for this account — it was model enablement, not billing and not the client.
What the Console API reported for this org:
{"apiId": "glm-5.3-flash-free", "enabled": false, "available": true, "status": "active"}newModelsEnabled: false,enabledModelCount: 40,updatedAt: 2026-10-15T08:40:27.000Z(predating the model's release)What did not fix it:
payment-methodswent from[]to one default card, and nothing changed — the model stayedenabled: falseandupdatedAtwas not recomputed by that action.PUT /console/api/providers/<id>/model-policywith{"freeModelsEnabled": true, "newModelsEnabled": true}(ProviderModelPolicyUpdate): accepted (200) and bumpedupdatedAt, butenabledModelCountstayed 40 and the model stayedenabled: false.What fixed it — the per-model override
PUT /console/api/providers/<id>/models/glm-5.3-flash-free/overridewith{"enabled": true}(ModelOverrideUpdate), returning{"modelId": "glm-5.3-flash-free", "enabled": true}:{"apiId": "glm-5.3-flash-free", "enabled": true, "available": true, "status": "active"}enabledModelCount: 40 → 41; thewhitelistinGET /console/api/config: 38 → 39 entries, now containingglm-5.3-flash-freeopencode run -m opencode/glm-5.3-flash-free "…"succeeded (> build · glm-5.3-flash-free→PONG)Notes for anyone else hitting this:
modelManagementEnabled: falseon the connection did not prevent the per-modeloverridecall from succeeding.enabledflag flips.opencode-agent commentedon Oct 17, 2026
Hi @soybean-ccccnnn, closing this now. Which models your Console account gets is decided by the server, and that's handled by the support team by email, not in GitHub issues. If GLM-5.3-Flash Free is still missing, please email help@anoma.ly with your findings (and if you already have, the team will get to it). Please keep tokens and account details in the email, not here. Thanks again for the detailed investigation.