Repository navigation
Description
Summary
Connected third-party providers (Poe via OAuth, DeepSeek/LongCat/Xiaomi via API key) stay inactive: their credentials are stored, but none of their models appear in /models, Desktop, opencode models, and any run --model <provider>/<model> fails with Model unavailable. Only Console-managed providers (opencode, opencode-go) resolve.
Environment
- opencode version: v2.0.26 (CLI and background service, previously 2.0.20/2.0.23 — same symptom)
- OS: Microsoft Windows NT 10.0.26200.0 (Win32NT)
- Terminal: TERM_PROGRAM=Orca, TERM=xterm-256color, COLORTERM=truecolor
- Shell: C:\Windows\system32\cmd.exe (interactive shells: pwsh)
- Install/channel: release, latest
- Active plugins:
oh-my-openagent(cli.json); MCP serversmemory,codegraph(local, global opencode.json). No provider-disabling plugins.
Reproduction
- TUI: run
/connect, select Poe, complete OAuth (browser shows success page). - TUI
/connectagain: Poe shows ✓ with saved account.opencode auth listshowsPoe / Poe / stored. - Run
/models(or open Desktop Settings → 模型, oropencode models): onlyopencode/*andopencode-go/*models listed (~50). Nopoe/*entries. - Run
opencode run --model poe/<any-model> 'hi'(also trieddeepseek/deepseek-chat, a static catalog model): fails immediately withError: Model unavailable: poe/<model>. - Repeat after
opencode service restart, CLI upgrade to match service version,opencode auth switch <integration> 'API key', account delete + fresh OAuth re-login, and a project-levelproviders: { "deepseek": {} }override (verified loaded viadebug config+reload): symptom unchanged.
Expected Behavior
A provider with a stored, active credential should be usable: its catalog models listed in /models and selectable for sessions/runs (per Providers docs: "connect an account first, then select a model").
Actual Behavior
Provider stays inactive despite stored credential. Affects every non-Console provider tested: poe (OAuth, active=1), deepseek / longcat / xiaomi-token-plan-cn (API-key accounts; LONGCAT_API_KEY also present in environment). opencode (Console kon credential) and opencode-go (API key) work fine.
Additional Context
- Consistently reproducible, including after full service restart (which also auto-updated service 2.0.23 → 2.0.26) and fresh OAuth credentials.
- No workspace attached (
workspacetable empty, location events showworkspaceID=undefined); noexperimental.policiesin any config layer; no policy entries in server KV store. So not aprovider.usedeny. - models.dev catalog cache in server DB contains all 225 providers, including
poe(137 models,@ai-sdk/openai-compatible,https://api.poe.com/v1),deepseek(4 models),longcat,xiaomi-token-plan-cn. Same npm runtime package as the working Console providers. - Stored credentials verified present and well-formed (typed objects, non-empty) via DB inspection of backup copy and
auth export(values not pasted here). - Global config contains
"providers": { "opencode": {}, "opencode-go": {} }(empty overrides) — project-level override test rules out allowlist semantics. - Server log shows no provider errors around credential creation, model listing, or boot; only recurring
$.modelnormalization warning (global config has"model": "", skipped as malformed) and intermittentFailed to fetch models.dev/failed to load OpenCode provider configtransport errors (network is flaky, but static catalog models should not need network;api.poe.comreachable with 403 on base path,api.deepseek.comtimes out from this machine). auth listhides one legacy credential (mint, not in current catalog — likely V1 leftover), suggesting the old API-key rows may date from V1→V2 migration; but Poe OAuth was created fresh on V2 and fails identically.- Screenshots: OAuth success page, Providers page (only Go/Console), Models page (only Go/Console), TUI
/connect(Poe ✓), TUI/models(only OpenCode entries).
Activity
opencode-agent commentedon Oct 9, 2026
Thanks for the detailed report and for ruling so much out already.
I think this is a duplicate of #52363. That issue describes the same thing: stored OAuth/API-key credentials, and even config-declared providers, never register, so only
opencodeandopencode-goshow up and everything else fails withModel unavailable. A later comment there narrows it down. The third-party provider works when it is the only one connected and disappears as soon as OpenCode Zen or Go is connected again. Your setup has bothopencode(Console) andopencode-goconnected, which matches.Possible duplicates and related issues, ordered from most to least likely:
Model unavailable), and it seems to happen only while Zen/Go is connectedopencode/*resolves on Windows, for providers authenticated through environment variablesModelUnavailableErrorfor saved API-key providers, reported on v1.18.21If you can, please test on #52363 whether disconnecting
opencodeandopencode-go(e.g.opencode auth logout, thenopencode service restart) makespoe/*ordeepseek/*appear. That would confirm it's the same cause.The bot will close this issue as a duplicate in 1 day unless you reply explaining how your problem is different.
opencode-agent commentedon Oct 10, 2026
Closing this as a duplicate of #52363, since there's been no reply in the past day saying how this problem is different. In both, providers with a stored OAuth or API-key credential (or declared in config) never register while
opencode/opencode-goare connected, so only Console and Go models show up and everything else fails withModel unavailable.Please follow #52363 for updates. It would help to post there if disconnecting
opencodeandopencode-go(thenopencode service restart) makes yourpoe/*ordeepseek/*models appear. #51737 and #51285 also look related.If this turns out to be a different problem, reply here and we can reopen it.