Skip to content

Go plan: 403 "An active OpenCode Go subscription is required" on every Go model — reproduced via API today, Zen models also 403 #52267

Closed as duplicate

Description

@mitrix007

Description

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 -> 403 Model 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

  1. Take the Go key of an account whose billing page shows a paid subscription.
  2. Run:
curl -sS -X POST https://opencode.ai/zen/go/v1/chat/completions \
  -H "Authorization: Bearer <your Go key>" -H "Content-Type: application/json" \
  -H "x-opencode-session: $(cat /proc/sys/kernel/random/uuid)" \
  -d '{"model":"glm-5.3-flash","messages":[{"role":"user","content":"ping"}],"max_tokens":5}'
  1. Response is 403 An active OpenCode Go subscription is required to use Go models.
  2. The same request without x-opencode-session returns a different error (400 MissingSessionID), so the request format itself is accepted.
  3. The non-Go endpoint on the same key answers 403 Model access is disabled.

Screenshot and/or share link

No screenshot — the reproduction is text and is included above (curl transcript, 2026-09-30 12:39 MSK).

Operating System

Not OS-specific. Reproduced headless on Linux via curl; the same symptom is reported from Windows clients (#51049) and from the desktop app (#51689).

Terminal

curl, headless (no interactive terminal involved). The GUI client shows the same 403.

Activity

  1. github-actions commented on Sep 30, 2026

    @github-actions
    Contributor

    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.
  2. Dante-dan commented on Oct 1, 2026

    @Dante-dan
    Contributor

    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.

  3. Tarquinen commented on Oct 20, 2026

    @Tarquinen
    Member

    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.

    — from 𝕺𝖕𝖊𝖓𝕮𝖔𝖉𝖊

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions