You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Go plan: 403 "An active OpenCode Go subscription is required" on every Go model — reproduced via API today, Zen models also 403 #52267
A paid Go subscription ("Subscription Sep 2026", paid Sep 9 2026, $10) is shown as active on the billing page, but no Go model is served on this account since ~Sep 19. This is the same problem as #52098, which was closed by the compliance bot before the form could be filled in. This time everything is filled in and the failure is reproduced at the API level.
Reproduced today, 2026-09-30 12:39 MSK, with the account's Go key:
GET https://opencode.ai/zen/go/v1/models -> 200, the model list is served
POST https://opencode.ai/zen/go/v1/chat/completions with x-opencode-session -> 403{"error":{"type":"server_error","message":"Upstream request failed: An active OpenCode Go subscription is required to use Go models."}} — same answer for glm-5.3-flash, gpt-5.6-luna, deepseek-v4-pro
control on the same key: POST https://opencode.ai/zen/v1/chat/completions with gpt-5.4 -> 403Model access is disabled
The key is accepted and routed, but the subscription is not applied to the account. In the client this looks like: every Go model returns 403 An active OpenCode Go subscription is required to use Go models, the "connect subscription" link opens the Console instead of linking the client, and usage that does go through is charged to the account balance instead of the plan.
Account m***@gmail.com (full address in #52098), workspace "Default".
Update 2026-09-30: the Go subscription is no longer listed on the Console dashboard at all — it has disappeared from the workspace, while the billing history still contains the September payment. The API behaviour above is unchanged (Go endpoints 403, non-Go endpoints 403 Model access is disabled), so the plan is simply not attached to the account any more.
Plugins
Not applicable to the API reproduction — the requests above are plain curl, no plugins.
OpenCode version
2.0.16 (client). The 403 above does not depend on the client version: it comes straight from the API.
Steps to reproduce
Take the Go key of an account whose billing page shows a paid subscription.
This issue might be a duplicate of existing issues. Please check:
#52098: Reports the same reporter’s paid Go subscription still appearing active while all Go models return the subscription-required 403; this issue adds direct API reproduction.
#49768: Reports a paid Go subscription shown as inactive and the same 403 Account.Disabled response from the Go API.
#50420 and #49981: Report the same “An active OpenCode Go subscription is required” 403.
The curl response narrows this down beyond the client: the reported server_error / Upstream request failed 403 is different from the public Console handler's local billing errors.
In the handler at 02c3891, local authentication/credit failures return 401 and Go quota failures return 429. Its explicit 403 is a China-hosting opt-in check for deepseek-v4-flash, which does not match the models or error body in this report. Provider responses can retain their upstream status, and provider routing comes from deployed ZEN_MODELS configuration.
Could a maintainer check the deployed route and subscription-to-workspace mapping for this account, including the upstream entitlement response? The subscription disappearing from the dashboard is useful additional evidence. I traced the public source; I have not reproduced this with the affected account or identified a safe code fix. #52098 is the same reporter's earlier report, whereas #51049 concerns a different account and invoice history.
Thanks for the report! Closing as a duplicate of #50885, which has the answer: #50885 (comment)
In short: in OpenCode 2.0, run /connect, choose opencode, and pick the workspace that has Go when signing in. Then select a model marked as Go. To use an API key instead, create one under a service account in the console and add it with /connect → opencode go.
If this still fails on 2.0, please open a new issue with your version.
Activity
github-actions commentedon Sep 30, 2026
This issue might be a duplicate of existing issues. Please check:
Account.Disabledresponse from the Go API.Dante-dan commentedon Oct 1, 2026
The curl response narrows this down beyond the client: the reported
server_error/Upstream request failed403 is different from the public Console handler's local billing errors.In the handler at 02c3891, local authentication/credit failures return 401 and Go quota failures return 429. Its explicit 403 is a China-hosting opt-in check for
deepseek-v4-flash, which does not match the models or error body in this report. Provider responses can retain their upstream status, and provider routing comes from deployedZEN_MODELSconfiguration.Could a maintainer check the deployed route and subscription-to-workspace mapping for this account, including the upstream entitlement response? The subscription disappearing from the dashboard is useful additional evidence. I traced the public source; I have not reproduced this with the affected account or identified a safe code fix. #52098 is the same reporter's earlier report, whereas #51049 concerns a different account and invoice history.
Tarquinen commentedon Oct 20, 2026
Thanks for the report! Closing as a duplicate of #50885, which has the answer: #50885 (comment)
In short: in OpenCode 2.0, run
/connect, chooseopencode, and pick the workspace that has Go when signing in. Then select a model marked as Go. To use an API key instead, create one under a service account in the console and add it with/connect→opencode go.If this still fails on 2.0, please open a new issue with your version.
— from 𝕺𝖕𝖊𝖓𝕮𝖔𝖉𝖊