Repository navigation
Description
Description
A free-tier account (no Go subscription, $0 balance, console shows 0.00 quota) gets FreeUsageLimitError on all free Zen models even though no free-model usage happened in the current window. The free limit is enforced server-side (see also #54338), but either the reset window is counted incorrectly, or it is far more aggressive than the standard daily reset users expect.
Recent issues with the same symptom: #35568 ("Free usage exceeded sin consumo real"), #47318 (free plan, free models only, hit "Limit Exceeded"), #50610 (free usage limits not showing/working correctly). Paid-with-balance users hitting the same cap are tracked in #33318 / #33495.
Related pain point: #54338 — the free-tier rate-limit reset timestamp is not exposed via CLI or API, so users cannot verify whether the counter is wrong or when it will unblock.
Expected Behavior
- With no free-model requests since the previous reset,
opencode run --model opencode/<free-model>should stream normally. - The CLI/TUI should expose the current free-tier usage counter and reset time (e.g. via
opencode statsor a zen usage endpoint) so this kind of report can be self-diagnosed.
Actual Behavior
Every free model returns FreeUsageLimitError immediately (<1s) on the first request of the day. Direct API probes without the OpenCode client return the misleading FreeTierError: OpenCode's free tier can only be used from within OpenCode instead of a usage status.
Steps to reproduce (fresh session):
opencode run --model opencode/beam-free "Reply exactly OK"
# > build · beam-free → silence for 90s, then no responseServer log (~/.local/share/opencode/log/opencode.log):
timestamp=2026-10-22T18:50:09Z level=INFO run=739c7192 stream providerID=opencode modelID=beam-free (first request of the day)
timestamp=2026-10-22T18:50:10Z level=ERROR run=739c7192 "stream error" providerID=opencode modelID=gpt-5.4-nano small=true error="AI_APICallError: Upstream request failed: Insufficient account funds"
timestamp=2026-10-22T18:50:11Z level=ERROR run=739c7192 "stream error" providerID=opencode modelID=beam-free small=false error="AI_APICallError: Free usage limit reached. Subscribe to OpenCode Go to keep going: https://opencode.ai/go"
timestamp=2026-10-22T18:51:46Z level=ERROR run=0e71060d "stream error" providerID=opencode modelID=big-pickle small=false error="AI_APICallError: Free usage limit reached. Subscribe to OpenCode Go to keep going: https://opencode.ai/go"
Note two distinct errors within the same second: the free-model request gets "Free usage limit reached" and the small/title agent (gpt-5.4-nano) gets "Insufficient account funds" — a $0 balance, so the fund error is expected, but it confirms this is a free-only account.
Environment
- OpenCode version: 1.19.4 (latest release, CLI)
- Plan: Free (no Go subscription, no balance)
- Last confirmed free-model usage prior to this tap: previous day (not today)
- OS: macOS 27.0.1, Apple Silicon (arm64)
- Auth: single
opencodeAPI key credential inauth.json - Same failure for all tested free models:
beam-free,big-pickle(and, routed through a local OpenAI-compatible proxy, the other free models returned the same 429FreeUsageLimitErrorupstream) - Local stats for reference (
opencode stats): 94 sessions / 12,372 messages over 63 days, total cost $0.00
Request
- Fix the free-tier counter accounting so that a window with no usage is not reported as limit-exhausted — or publish the exact reset rule so users can plan.
- Expose free-tier usage + reset timestamp via the CLI (e.g.
opencode stats --zen, as suggested in provider/opencode: free tier rate limit reset time not exposed via CLI or API #54338). - Make the direct-API free-tier response carry the same 429
FreeUsageLimitErrorsignal, not the clientlessFreeTierErrormessage.
Activity
opencode-agent commentedon Oct 22, 2026
Thanks for the detailed report, and sorry about this. Getting
Free usage limit reachedon the first request of the day, with no free usage in the window, is frustrating.The OpenCode Console (Zen) service sets and enforces this limit for your account, workspace and network. The OpenCode app only shows the error it gets back, so someone on the team needs to look at your account. Billing and account support isn't handled in GitHub issues. Please email [email protected] with:
If you've already emailed, the team will get to it, especially now that we've seen it here. Please keep email addresses, API keys, account IDs and other account details out of this public issue and put them only in the email.
About your other requests: you're on 1.19.4, which is OpenCode v1. v1 only gets fixes for critical bugs, so changes to its CLI output are unlikely. Showing the exact reset time is tracked in #52894. The reset time can also be seen at https://opencode.ai/console.
Related reports, ordered by likelihood:
FreeUsageLimitErrorbefore any successful usage (same symptom, on v2)If you use a VPN, proxy or another shared network, it may be worth trying without it. Free-tier limits can also be applied per network.
The bot will close this issue in 1 day.
juiceydev commentedon Oct 22, 2026
same thing happening here
JustOmar76 commentedon Oct 22, 2026
sameee
K-3-LT commentedon Oct 23, 2026
One detail in your log that may help whoever looks at the account: the first error of the day isn't the free model. At 18:50:10Z the small-model call (gpt-5.4-nano, used for titles) fails with "Insufficient account funds", and one second later beam-free gets "Free usage limit reached". #58284 also mentions title/compaction calls the user never started, and #58176 reports titles being rejected on the free tier.
So it's worth testing whether that background paid call is involved. Pin the small model to a free one in opencode.json:
{
"small_model": "opencode/beam-free"
}
then retry
opencode run --model opencode/beam-free "Reply exactly OK"and check whether the log still shows a nano call before the free one. Whatever the result, it's a useful extra data point for the email to [email protected].opencode-agent commentedon Oct 23, 2026
Hi @yysofiyan, I'm closing this issue now. Account and free-tier usage problems on OpenCode Console (Zen) are handled by email, not in GitHub issues. If your free usage is still blocked, or anything else is unresolved, please email [email protected] and the team will look into it. Please keep any account details in the email and out of this public issue.
Thanks for the detailed report. Showing the free-usage reset time in the app is tracked in #52894.
rakeshkhichar8290-maker commentedon Oct 24, 2026
same with me
gist591 commentedon Oct 24, 2026
Same issue. Version 2.0.27, free account, Linux. Free usage limit reached since Oct 21 (all free models). On Oct 23 beam-free briefly worked, today (Oct 24) nothing works again. Log shows AI.Error.QuotaExceeded: Free usage limit reached on the very first SessionStep, no other model call before it (so the small-model theory doesn’t apply). No reset time in CLI, logs or console. Could the reset window and remaining allowance be exposed anywhere?
Chatur7x commentedon Oct 24, 2026
I'm seeing the same persistent free-model limit on OpenCode Desktop/CLI v2.1.4 on Windows.
The block started on October 23, 2026 (IST), and remained on October 24 despite expecting the daily allowance to reset. Fresh CLI sessions on October 24 around 20:24–20:33 IST reproduced HTTP 429 / FreeUsageLimitError on all four tested models:
Reproduction:
The response reports provider.free-limit, status 429, with "Free usage limit reached". At approximately 20:33 IST on October 24 it returned retryAfterMs: 32217000, pointing to approximately October 25 at 05:30 IST. The desktop displays that next reset time too. Local logs contain the same upstream error earlier on October 24, including 03:29 UTC and 06:13 UTC. Reloading the configuration did not resolve it.
Could you investigate whether the allowance/reset is being accounted for correctly, or clarify why it remains blocked across days? I understand account-specific details may need to be provided privately to support; no credentials or private account identifiers are included here.
xiaomeng-zi commentedon Oct 26, 2026
You've used today's free messages. They reset at 202610月27日 07:00.