Repository navigation
Description
Description
Summary
Possibly a 2.2.5 regression — third-party providers were working the day before the upgrade.
Integrations connected through opencode auth login (Kimi For Coding, Zhipu AI Coding Plan, DeepSeek, Xiaomi Token Plan) are no longer usable: opencode auth list shows them as stored, but opencode models only lists the two workspace-managed providers opencode and opencode-go, and addressing a third-party model explicitly fails with Model unavailable.
opencode debug config shows a workspace-document policy provider.use: {"resource":"*","effect":"deny"} with narrow allow entries for opencode / opencode-go only. This correlates with the symptom, but it is a lead, not a confirmed root cause — I could not verify that removing the policy restores the providers.
Timeline (Asia/Shanghai): third-party providers usable on 2026-10-31; opencode upgraded 2026-10-31 09:35 (now reporting 2.2.5); on 2026-11-01 they are gone. The previous version number was not recorded, so the exact last-known-good build is unknown.
Environment
- opencode version: 2.2.5
- OS: Linux 6.6.87.2-microsoft-standard-WSL2 (x86_64), Ubuntu on WSL2
- Terminal: xterm-256color (
TERM_PROGRAM=vscode,COLORTERM=truecolor) - Shell: /bin/zsh
- Install/channel: latest (release)
- Active plugins:
@cortexkit/opencode-magic-context@latest,superpowers@git+https://github.com/obra/superpowers.git
Reproduction
opencode auth login→ connectKimi For Coding (kimi.com)andZhipu AI Coding Plan(both complete successfully; the integration screen shows them checked).- Confirm the credentials are stored:
opencode auth listprints both asstored(plus DeepSeek / Xiaomi Token Plan / OpenCode Go / OpenCode Console). - List models:
opencode models. - Observe that only
opencode/*andopencode-go/*entries are printed — nokimi-code-plan-cn/*, nozhipuai-coding-plan/*, nodeepseek/*. - Inspect resolved config:
opencode debug config.
Expected Behavior
After an integration is connected with a stored credential, its provider and models should be selectable — e.g. kimi-code-plan-cn/k3, zhipuai-coding-plan/glm-5.3 — regardless of which workspace-managed providers exist.
Actual Behavior
opencode models output is limited to two providers, even though the third-party credentials are stored:
$ opencode models | awk -F/ '{print $1}' | sort | uniq -c
43 opencode
30 opencode-go
The managed config document denies everything else and declares only those two providers:
"policies": [
{ "action": "provider.use", "resource": "*", "effect": "deny" },
{ "action": "provider.use", "resource": "opencode", "effect": "allow" },
{ "action": "provider.use", "resource": "opencode-go", "effect": "allow" }
]
providers in managed doc: ['opencode', 'opencode-go']
Third-party models are unusable not only in the list but also when addressed explicitly:
$ opencode run -m deepseek/deepseek-v4.1-flash "reply OK"
Error: Model unavailable: deepseek/deepseek-v4.1-flash
opencode auth list:
OpenCode Go API key stored
DeepSeek API key stored
Kimi For Coding (kimi.com) Kimi For Coding (kimi.com) stored
OpenCode Console Default stored
opencode_console opencode_console stored
Xiaomi Token Plan (China) API key stored
Zhipu AI Coding Plan API key stored
The credentials are also present and active in the local database (credential table: kimi-code-plan-cn, zhipuai-coding-plan, deepseek, xiaomi-token-plan-cn, opencode-go — all active = 1), and both kimi-code-plan-cn and zhipuai-coding-plan exist in the local models catalog with their model lists. So the metadata and credentials are all there — only the policy keeps them out.
Additional Context
- Reproducible consistently, on 2.2.5, in every new session (not a per-session cache issue).
- Regression signal: the same setup worked the day before the upgrade (details in Summary). The upgrade was done with the standard
opencode upgradeflow; no config changes were made around that time. - Enabling/disabling workspace models has no effect on third-party providers — it only toggles
opencode/*models, which are OpenCode's own. - The Kimi and Zhipu integrations are explicitly offered in the "Connect an integration" screen and report success, which makes the outcome especially confusing: the UI says connected, the credential is stored, but the provider can never be selected.
- Suggested directions:
- Have
auth login(or the workspace sync) add the connected provider to the managed document, mirroring the credential it just stored. - Or make
provider.usepolicy default to allowing locally-authenticated providers, so a managed allowlist only narrowsopencode-hosted models. - At minimum, surface a clear error/warning at connect time when the workspace policy denies the provider, instead of silently hiding it.
- Have
- No secrets included; identifiers such as account IDs and table/row ids are omitted.
Plugins
No response
OpenCode version
No response
Steps to reproduce
No response
Screenshot
No response
Operating System
No response
Terminal
No response
Activity
opencodejr commentedon Nov 1, 2026
Thanks for the detailed report, especially for finding the managed
provider.usepolicy inopencode debug config.I think this is a duplicate of #52363, which reports the same thing: providers with stored credentials never become selectable while OpenCode Console/Go is connected, so only
opencodeandopencode-goare listed, and everything else fails withModel unavailable.Possible duplicates and related issues, ordered by likelihood:
opencode/opencode-goresolve), closed as a duplicate of OpenAI models disappear when OpenCode Zen or Go is connected #52363.If you want to confirm on your side, try
opencode auth logoutfor the OpenCode Console credential, thenopencode service restart. If your Kimi/Zhipu/DeepSeek models come back, please mention that on #52363 too.The bot will close this issue as a duplicate in 1 day unless you reply explaining how your problem is different.
deltacat commentedon Nov 1, 2026
yes, logout from console, my models come back.
opencodejr commentedon Nov 2, 2026
Closing this as a duplicate of #52363, since nobody has replied in the past day to say how this is different. Both issues show the same thing: providers with stored credentials (here Kimi, Zhipu, DeepSeek and Xiaomi) never become selectable while OpenCode Console/Go is connected. Only
opencode/opencode-goget listed, and the managedprovider.usedeny-all policy you found seems to be what removes the rest.Please follow #52363 for updates. It would help to post there that this still happens on 2.2.5, because one commenter thought it was fixed in 2.2.4. If you can, also say whether logging out of the OpenCode Console credential (then
opencode service restart) brings your models back. #54382 tracks letting your own provider choices apply while connected to a Console organization.If this turns out to be a different problem, reply here and we can reopen it.