Skip to content

docs: Go usage limits are shared across all models, not per-model as documented #60311

Open

Description

@andrewpoker1805

Summary

The Go documentation states that usage limits are enforced per model, but in practice the 5-hour (rolling), weekly, and monthly limits are a single pool shared across all paid models. Exhausting the rolling limit on one model blocks every other paid model, even models that have barely been used and are far below their documented per-model limit.

Environment

  • opencode version: 2.2.1 (desktop app, latest channel)
  • OS: Windows 10 (Windows_NT 10.0.19045, win32 x64)
  • Terminal: xterm-256color (OpenCode desktop app)
  • Shell: C:\Windows\system32\cmd.exe
  • Install/channel: latest (desktop app)
  • Active plugins: none configured
  • Plan: Go ($10/month), Personal workspace (single member)

Reproduction

  1. Subscribe to OpenCode Go on a Personal workspace.
  2. Use a single paid model until the rolling (5-hour) usage limit is reached.
  3. Switch to a different paid model that has not been used recently and send any request.
  4. Observe that it is also rejected with "Go usage limit exceeded".
  5. Open Console → Go: only three workspace-wide counters are shown (Rolling, Weekly, Monthly), with no per-model breakdown.
  6. Switch to a free model (e.g. Beam Free): it still works.

Expected Behavior

Per the docs (https://opencode.ai/v2/docs/console/go, "Usage limits"):

"Each model has the following usage limits: 5-hour — 20% of the monthly limit; weekly — 50%; and monthly — 100%."

The pricing tables list a separate "Monthly limit" per model (e.g. GLM-5.3 $15, Claude Haiku 5.5 $15, DeepSeek V4.1 Flash $80), and the "Estimated requests" tables give per-model "Requests per 5 hours / week / month". Reaching the 5-hour limit on one model should not affect the others.

Actual Behavior

The Console Go page shows a single set of counters for the whole plan, with no per-model split:

  • Rolling usage: 100% used (resets in ~2.5h), with a "Go limit hit" badge and the message "Rolling limit reached. Go resumes in 2h 37m."
  • Weekly usage: 96% used
  • Monthly usage: 48% used

Every paid model then returns "Go usage limit exceeded", including models not used in the last 5 hours. Only free models (documented as "Unlimited") keep working.

Usage for Oct 19–29 (Console → Activity → Usage) shows no individual model anywhere near its documented limit, yet the shared rolling limit is fully exhausted:

Model Requests Cost
glm-5.3 163 $5.25 (documented monthly limit: $15)
claude-haiku-5-5 329 $1.71 (limit: $15)
deepseek-v4.1-flash 601 $1.07 (limit: $80)
grok-4.7 6 $0.14
glm-5.3-flash 32 $0.10
qwen3.8-max 3 $0.08
deepseek-v4-pro 6 $0.06
longcat-2.0 20 $0.04
qwen3.8-flash 23 $0.03
gpt-6-luna 49 $0.01
kimi-k3 1 <$0.01
DeepSeek V4.1 Flash (free) 28 $0.00
beam-free 59 $0.00
Total 1,320 $8.50

Additional Context

  • Reproducible consistently: any paid model is blocked the moment the shared rolling counter hits 100%.
  • The Activity page also shows "Most used this period" as percentages of one shared pool (DeepSeek V4.1 Flash 47%, Claude Haiku 5.5 25%, GLM-5.3 13%), which only makes sense if the allowance is shared.
  • Either the documentation should be corrected to describe a shared allowance, or the enforcement should match the documented per-model limits. As written, the per-model "Monthly limit" column and the per-model request estimates are misleading.

Activity

  1. opencodejr commented on Oct 29, 2026

    @opencodejr

    Thanks for the detailed write-up and the usage table. You're right: the docs and the actual behaviour don't match.

    I checked the Go docs on the latest dev (1eea2d4). The Usage limits section still says "Each model has the following usage limits: 5-hour — 20%… weekly — 50%… monthly — 100%". The pricing tables also list a "Monthly limit" for each model, and the "Estimated requests" tables give figures for each model. Nothing on the page says the allowance is shared.

    The Go service actually uses one Rolling/Weekly/Monthly allowance for all paid models. Support confirmed this in #54875: each model's listed monthly limit sets how heavily its usage counts against that shared pool, so $1 on a model with a $15 limit uses up as much as $4 on a model with a $60 limit. That matches your Console: when any of the three gauges hits 100%, every paid model is blocked, and free models keep working. I couldn't trigger the limit myself, because that needs a real Go subscription.

    The script below checks the docs text in a checkout of the repo. I've passed this on to the maintainers as a docs fix.

    Earlier reports of the same confusion, all closed: #54263 (the same docs request), #49186, #54875, #49014, #51550 and #52783.

    Reproduction script (check-go-docs.sh)
    #!/bin/sh
    # Shows that the Go docs describe usage limits as per-model, while the Go service
    # enforces one shared, weighted Rolling/Weekly/Monthly allowance across all paid models
    # (confirmed by support, quoted in #54875; the Console Go page shows only three
    # workspace-wide gauges). Run from an opencode checkout (dev branch).
    set -e
    f=services/www/src/docs/content/console/go.mdx
    git rev-parse HEAD
    echo "--- $f: Usage limits ---"
    grep -n "Each model has the following usage limits" "$f"
    grep -n "Each model's monthly limit below determines" "$f"
    grep -n "Monthly limit" "$f" | head -3
    echo "--- any mention that the allowance is shared? ---"
    grep -n -i "shared\|one allowance\|single allowance\|across all models" "$f" || echo "(none)"

    Run it: sh check-go-docs.sh

  2. hideki-hideki-hideki-hideki-hideki commented on Nov 5, 2026

    @hideki-hideki-hideki-hideki-hideki

    日本語販売ページでも同じ問題が発生しています

    OpenCodeの日本語公式販売ページ(https://opencode.ai/ja/go)では、モデル別に「5時間あたりの推定リクエスト数」と「月間利用枠」が個別に掲載されています。

    一般の利用者が「モデルごとに独立した利用枠がある」と理解しても不自然ではない表示方法です。

    しかし実際には、全有料モデルが一つの共通利用枠を消費する仕様であることが、別Issue #54875に掲載されたOpenCodeサポートの回答で明らかになっています。

    さらに、本Issue #60311でも、OpenCode側のボットが2026年10月29日に、公式ドキュメントと実際の挙動が一致しておらず、共通利用枠について明記されていないことを認めています。

    日本語ユーザーへの影響

    日本語圏の利用者は、販売ページの表示から「モデルを切り替えれば、それぞれの利用枠が使える」と理解して契約する可能性があります。共通枠であることを購入前に認識するのは困難です。

    私自身も、無料枠の制限が10月下旬から急激に厳しくなり、1日数十回程度の使用で上限に到達する状況を経験しました。

    Goへの課金を検討しましたが、GitHubのIssueを調査した結果、有料モデルでも共通枠によって他のモデルまで利用できなくなるという報告が複数あることを確認しました。

    現状では、モデル別の独立した利用枠があると期待して契約することは推奨できません。

    要望

    日本語販売ページにおいても、全有料モデルが単一の共通利用枠を共有すること、およびモデル別に表示されている利用額は独立した予算ではないことを、購入前に明瞭に表示するよう修正をお願いします。


    English

    The Japanese sales page also displays per-model estimated requests per 5-hour period and monthly usage limits, which can reasonably lead users to believe that each model has an independent allowance.

    However, OpenCode support confirmed in Issue #54875 that all paid models share a single usage allowance, with model-specific weighting. The displayed monthly limits are not separate budgets.

    Furthermore, OpenCode's bot acknowledged in this issue on October 29, 2026, that the documentation did not match the actual behavior and did not clearly disclose the shared allowance.

    Japanese users may subscribe believing that switching models provides access to separate usage quotas. This is a significant difference between what the sales page appears to communicate and how the service actually works.

    Request: Please update the Japanese sales page to clearly state, before purchase, that all paid models share a single common allowance and that the per-model monthly figures do not represent independent budgets.

  3. anmoti commented on Nov 6, 2026

    @anmoti

    Japanese user here.
    I subscribed where the per-model 5-hour estimates and monthly allowances read as separate budgets; I only learned otherwise after paying.
    Please make sure the Japanese page is corrected too.

  4. anmoti commented on Nov 6, 2026

    @anmoti

    I asked a couple of AI assistants with web access how Go's limits work, and all of them answered that each model has its own 5-hour/weekly/monthly limit. That is simply what the published page says, so it gets repeated as fact. Only after I pushed back several times did one of them find this issue and correct itself.

    That is the practical cost of leaving the page as it is: the wrong answer is now the default answer, because the only authoritative-looking source states it. Anyone who checks before buying gets the same wrong answer I did.

  5. privatenumber commented on Nov 9, 2026

    @privatenumber

    Another data point that matches this. In one Go workspace on Nov 9, 2026, requests to glm-5.3, qwen3.8-max, and kimi-k3.1-pro (all with a $15 monthly limit) cost $2.97 in total, which is about 20% of $15. The 5-hour meter then showed "Limit reached", with weekly at 40% and monthly at 20%. That fits a single shared allowance where each model's spend counts against its own monthly limit, not separate per-model budgets.

  6. JunriOda commented on Nov 10, 2026

    @JunriOda

    The current wording is confusing enough that we misunderstood whether the model-specific monthly dollar figures are independent caps or weights against a shared quota. Please clarify this directly on the Go pricing and documentation pages, including the Japanese page, before signup. A concrete mixed-model calculation and an explicit statement of what happens when a shared rolling, weekly, or monthly limit is reached would make the terms much easier to understand. Please also clarify whether any separate per-model caps exist.

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions