Repository navigation
Closed as duplicate
Closed as duplicate
Copy link
Labels
Description
Description
Summary
As a free OpenCode user, using the BigPickle model exhausts the entire daily free quota almost immediately—typically within 1–5 minutes and after only ~5 normal messages. After that, OpenCode says I must wait ~24 hours before using it again. This makes BigPickle effectively unusable on the free tier.
Environment
- OpenCode version: Latest
- Plan: Free
- Model: BigPickle (
bigpickle/ free model)
Steps to reproduce
- Use a free OpenCode account with available daily quota.
- Select the BigPickle model.
- Open a normal/small project.
- Send approximately 5 ordinary prompts/messages (no massive files intentionally attached).
- Continue using BigPickle for ~1–5 minutes.
- Observe that the daily quota/request limit is exhausted almost immediately.
- OpenCode then reports that I must wait ~24 hours before using BigPickle again.
Actual behavior
- BigPickle consumes all available daily requests/tokens within ~1–5 minutes.
- Only ~5 messages are sent before the cap is hit.
- The model does not get much useful work done before the quota is gone.
- After exhaustion, OpenCode forces a ~24-hour cooldown.
- This happens repeatedly, not just once.
Expected behavior
- Sending ~5 short/normal messages should not exhaust the entire free-tier daily quota.
- OpenCode should show clear live usage (requests and/or tokens) before the cap is reached.
- OpenCode should warn when quota is low and avoid silent exhaustion.
- Agentic/tool-call loops should be capped or interrupted before they burn the entire daily quota.
- If the free tier is request-based, it should not be exhausted by token-heavy hidden context/agent loops.
- The user should not be locked out for 24 hours after only a few minutes of light use.
Error / message observed
<paste exact error text here>
Example: “usage exceeded” / “retrying in 23h 59m” / “wait 24 hours”
Logs / diagnostics
- Output of
opencode stats:<paste here> - Screenshot of the 24-hour cooldown message:
<attach> - Any relevant logs:
<attach>
Additional context
- I am a free user.
- BigPickle appears to use tokens/requests far too quickly, possibly due to agentic loops, repeated tool calls, or hidden context loading.
- The quota seems to disappear before the model produces meaningful output.
- This is a major blocker because free users cannot realistically evaluate or use BigPickle if the daily cap is hit in under 5 minutes.
Requested fixes / investigation
- Confirm the actual free-tier limits for BigPickle (requests/day vs tokens/day).
- Add live quota/usage display before exhaustion.
- Add a low-quota warning.
- Detect and stop runaway agentic/tool-call loops.
- Clarify whether auto-indexing/context loading counts toward the free quota.
- Investigate why ~5 messages can exhaust the entire daily allowance.
- Consider a softer cooldown or partial reset instead of a full 24-hour lockout after light use.
Plugins
No response
OpenCode version
latest
Steps to reproduce
No response
Screenshot
No response
Operating System
Windows 11
Terminal
No response
Reacted by Niece7
Activity
opencodejr commentedon Nov 1, 2026
Thanks for the report! I think this is a duplicate of #59387, the main thread for free-tier usage limits. Maintainers are collecting all free-tier quota reports there so they're in one place.
Related issues, ordered from most to least likely to match:
Free usage exceeded,You've used today's free messages. They reset at ..., limits that seem wrong). Please add your report there.Before commenting on #59387, please check that you're on the latest OpenCode v2 (
opencode --version). Most free-tier problems come from v1 (1.x) builds. Then include:Please don't post email addresses or account details publicly. For account-specific questions, email help@anoma.ly.
The bot will close this issue as a duplicate in 1 day unless you reply explaining how your problem is different.
WinterGate-IC commentedon Nov 1, 2026
Thanks for the pointer. I've checked the related issues mentioned, and I want to confirm this is not just a duplicate of the standard "used up your quota" complaint—it's a speed-of-consumption bug on the free tier.
✅ Duplicate check (done)
Before posting, I reviewed the suggested threads:
So while I agree these are related, this specific fast-burn behavior with BigPickle is not covered by any of the above.
My report (as requested)
latest— using Desktop<"Free usage exceeded" / "retrying in ...">.<e.g., "24h" or "23h 59m">.The actual problem
I am a free user. I selected BigPickle, sent roughly 5 normal messages in under 5 minutes, and the entire daily free quota was exhausted. BigPickle did not get to do meaningful work before the cap was hit.
This has happened repeatedly. It is not a one-off. The model appears to burn tokens/requests far too quickly, possibly due to agentic loops, repeated tool calls, or hidden context loading. The result is that free users cannot realistically use BigPickle at all—the daily allowance is gone in minutes, followed by a 24-hour cooldown.
Why this is distinct
The core bug is: BigPickle's consumption rate on the free tier is so high that the daily quota is effectively unusable.
Please keep this open as a distinct report. If you need logs (
opencode stats, screenshots, or the exact timestamps of the 5 messages), I can attach them.WinterGate-IC commentedon Nov 1, 2026
BigPickle free-tier quota burns in 1–5 minutes
TL;DR for maintainers
The near-instant exhaustion of BigPickle’s free-tier quota is not a single bug—it is the intersection of three separate failure modes that compound each other:
The result: a free user sends ~5 normal messages, BigPickle loops or compacts internally, and the entire daily allowance (reported ~0.3M–0.5M tokens) is gone in under 5 minutes.
1. Root cause: IP-bucketed quota (shared-IP exhaustion)
Multiple independent sources confirm that OpenCode’s free-tier quota is enforced per egress IP, not per account (#9611 cited across OmniRoute resilience code and community reports)[reference:0][reference:1].
Implications
Workaround
opencode statsafter switching IPs to see whether quota resets.2. Root cause: BigPickle agentic loops (token burn without progress)
BigPickle has several documented loop behaviors that silently consume tokens:
2a. Text narration loop (no tool calls)
Issue #46030 documents BigPickle generating dozens of consecutive text turns saying “I will run X” / “Let me execute X” without ever emitting the actual tool call[reference:3]. The session inflates with no-op turns, burning tokens while appearing to “work”[reference:4].
A related subagent case (#45442) describes an infinite loop of identical tool calls for ~50 minutes with no loop protection—described as “uncontrollable token burn”[reference:5].
2b. Compaction loop (total=0)
Issue #37871 documents a critical bug: when BigPickle reads large files (>10K tokens), context overflows, compaction runs, and compaction returns
total=0—meaning the compacted output is empty. The agent then re-reads the same files, overflows again, and loops indefinitely[reference:6].Observed metrics from that report:
total=0Each compaction call is a full model invocation. On the free tier, this alone can exhaust the daily quota in minutes.
2c. Compaction window misconfiguration
A separate analysis (Vasic Digital, ATM-853) found that OpenCode’s
derive_limits()read onlylimit.contextand ignoredlimit.input, so BigPickle’s catalog entry (200k context / 160k input) produced a compaction window above the model’s real input cap. The result: the agent loops through reject → compact → reject because compaction can never fire successfully[reference:8].Workarounds for loops
agentstepsor equivalent). OpenCode’s runner has anisLastStepguard, but it may not be enforced for all agents[reference:9].doom_looppermission check, which pauses when the same tool call repeats[reference:10].big-pickle-context-helperplugin, which filters@filereferences and avoids loading the entire context at once[reference:11].3. Root cause: silent quota exhaustion (no warning)
Issue #41684 documents the user-experience failure mode: the free model goes silent during congestion, then when the user switches to paid models, quota drains with no in-app warning—the first signal is sessions stopping mid-task with
Insufficient balancein the logs only[reference:12].There is no live quota meter, no low-quota warning, and no distinction between “rate limited” and “quota exhausted” in the UI.
Workaround
opencode statsfrequently to monitor token usage manually.%LOCALAPPDATA%\.local\share\opencode\log\opencode.log(Windows) or the equivalent path on your OS forFreeUsageLimitError/Insufficient balanceentries.429or “Free usage exceeded” as a hard stop—do not retry repeatedly, as retries may consume additional quota or extend the cooldown.4. Root cause: header/identity mismatches trigger false 429s
If you are using any client other than the official OpenCode CLI/Desktop, the gateway may reject requests with
429 FreeUsageLimitErroreven when quota is available.User-Agent: opencode/...and a validX-Session-IDgets 200[reference:13].ompclient (oh-my-pi) gets 403 FreeTierError unless it sends bothUser-Agent: opencode/1.19.0and a validses_...session ID[reference:14].Workaround
User-Agent: opencode/<version>X-Session-ID: <uuid>orx-opencode-session: ses_...HTTP-Referer: https://opencode.ai/X-Title: opencode5. Proposed fixes (prioritized for maintainers)
P0 — Stop the bleeding
total=0(ortotal < budget * 0.1) more than twice in a row, abort the session with a clear error instead of retrying indefinitely. This alone would prevent the 239-iteration / 104-compaction loops documented in Compaction returns total=0, causing infinite loop with max-steps guard #37871.derive_limits()to respectlimit.input. Clamp the compaction window tomin(limit.context, limit.input - safety_margin)so BigPickle’s 160k input cap is honored and compaction cannot loop above the real endpoint limit.P1 — Make quota visible
Live quota meter in the UI. Show requests used / remaining (or tokens used / remaining) for the current free-tier IP bucket. Update it after every turn.
Low-quota warning at 20% and 5% remaining. Do not wait for the 429 to surface silently.
Distinguish error classes. Return distinct error types for:
quota_exhausted(daily allowance gone)rate_limit_exceeded(too many concurrent requests)ip_bucket_exhausted(shared IP quota gone)The UI should show different remediation messages for each.
P2 — Structural improvements
maxStepsat the runner level. TheisLastStepguard exists but may not be enforced for all agents. Add a hard default cap (e.g., 50 steps) and surface it in config.6. Immediate workarounds for affected users
agentstepslimit; use anti-loop plugintotal=0)big-pickle-context-helper; reduce file context; cancel long compaction runsRate limit exceeded; switch to another free model (mimo-v2.5-free,nemotron-3.5-lightning-free)7. Open questions for maintainers
derive_limits()ignorelimit.inputfor BigPickle, and is this fixed in v2?opencodejr commentedon Nov 2, 2026
We haven't heard back, so I'm closing this as a duplicate of #59387, the main thread for free-tier usage limits like the Big Pickle quota running out and the ~24-hour reset.
If you still see this on the latest OpenCode v2 (
opencode --version), please comment on #59387 with your version, the free model, the exact error message or a screenshot, and the reset time you were shown. For the warning and usage-display ideas, see #42765 and #57540. For account-specific questions, email help@anoma.ly, and keep account details out of public issues. Thanks!neriousy commentedon Nov 4, 2026
Thanks for the report, and sorry for the trouble!
We're tracking all free-tier quota and limit problems in one place: the pinned issue #59387. Please read it first. Most of these reports are fixed by updating to the latest OpenCode v2 (Desktop v1 users can download it from https://opencode.ai/v2/docs).
If you're on the latest v2 and still hitting this, please add your details there: OpenCode version, OS, model, and the exact error or reset time shown. Keeping everything in one thread helps us find the cause faster.
Closing as a duplicate of #59387.