Short answer
OpenCode's free models, such as Big Pickle and DeepSeek V4.1 Flash Free, run on OpenCode's hosted gateway (called Zen in OpenCode 1 and Console in the OpenCode 2 docs). When the gateway refuses a request, the app shows one of the errors below. OpenCode's support bot says restarting the app or switching to another free model won't clear it.
You have three ways to keep going:
- Wait, or ask OpenCode support. If the countdown never clears or you think the block is wrong, email help@anoma.ly.
- Pay OpenCode. Subscribe to OpenCode Go, or add Console credits and use paid models.
- Connect your own provider. OpenCode works with any OpenAI-compatible API. Requests to it don't go through OpenCode's free tier, so its limits and IP block don't apply. TeamoRouter is one option; setup is below.
What the messages look like
Free usage exceeded, subscribe to Go
retrying in 50427s - attempt #1
Free usage limit reached. Subscribe to OpenCode Go to keep going: https://opencode.ai/go
Free usage limit reached. Connect a provider or subscribe to OpenCode Go to keep going, or switch models.
Error from provider (Console): OpenCode's free tier can only be used from within OpenCode
OpenCode's free models aren't available from your current network because we've detected abusive traffic from this IP address. This isn't related to your account. If you're on a VPN or proxy, turn it off and try again, or subscribe to OpenCode Go at https://opencode.ai/go to keep building.
Upstream request failed: Insufficient account funds
Upstream request failed: Invalid credential
Upstream request failed: Endpoint is unavailable.
The first comes from OpenCode 1.19.x, including the desktop app (#58781, #58941). The second is logged as FreeUsageLimitError (#58205). The third is the same error as worded in OpenCode 2's current source code.
"Free usage exceeded" and "Free usage limit reached"
What it means. You've used the free allowance. OpenCode's support bot says the allowance and the retry countdown are set by the OpenCode service for your account, not by the app (#58941), and that the limit can also apply per workspace and network (#58205). OpenCode doesn't publish the size of the free allowance or its reset schedule.
What to do:
- Check the reset time in the OpenCode Console, where the bot says it's shown.
- If you're on a VPN, proxy or shared network, try without it.
- If OpenCode 1 keeps retrying the request, upgrade with
npm i -g @opencode/cli@latest. A maintainer says OpenCode 2.0.6 and later stop retrying this error (#45989). Upgrading doesn't reset the limit. - If you get the error with no usage, or the countdown reaches zero and restarts, email help@anoma.ly with the time, model and exact error. Don't post account details in public issues.
Not confirmed: many reports from October 19–26, 2026 describe the error on the first request of the day, with zero usage in the Console, or with a countdown that keeps restarting (#58284, #58814, #59140). OpenCode hasn't explained these publicly.
"OpenCode's free tier can only be used from within OpenCode"
What it means. The free models only accept requests from OpenCode itself. OpenCode's Console docs say other clients need paid models or Go.
People also see it inside OpenCode. OpenCode's support bot lists known triggers (#56324):
readorshell/bashdenied anywhere in your permissions, including"*": "deny"or an agent that denies shell. A maintainer says the shell case is being tracked (#50627).- A provider entry in your config pointing at
https://opencode.ai/zen/v1. - Leftover plugins.
- No stored Console credential. Run
opencode auth login opencode.
What to do: check your config (opencode debug config prints it) and opencode auth list, fix what you find, and retry. Not confirmed: in #56324 the bot couldn't reproduce the error and suspects the gateway treats some networks or regions differently.
"Free models aren't available from your current network"
What it means. OpenCode's abuse detection has flagged the IP address you connect from, not your account. OpenCode's support bot adds that shared or carrier networks can be flagged because of other people's traffic, and that reinstalling or signing in again won't help (#56916, #57074).
What to do: turn off your VPN or proxy and try again. If you aren't using one, email help@anoma.ly and ask for the IP to be reviewed. Only the OpenCode team can lift the flag.
"Upstream request failed" errors
OpenCode's gateway returns these, not the app.
Insufficient account funds. OpenCode's billing docs say paid requests fail with HTTP 402 and this message once your Console credit balance reaches zero. If you pay for Go, check the model prefix: the support bot says opencode/ models are paid from Console credit, while Go models are under opencode-go/ (#56768). Run /connect, choose OpenCode Go, paste your Go API key, then pick a Go model in /models (Go docs). If it still fails with an active subscription, email support.
Invalid credential. A maintainer says your stored OpenCode API key has expired, and that several older keys stopped working after a Console migration (#54833). Run opencode auth login (or reconnect in the desktop app), or create a new key in the Console under Account → Personal API keys (#57106).
Endpoint is unavailable. A maintainer called one case, DeepSeek V4.1 Flash on Go returning HTTP 429, a temporary problem with the hosted service or an upstream provider (#57613). Check status.opencode.ai and try another model. If it persists, report the time, model and request ID from the Console logs to OpenCode.
Keep coding with your own API key
The OpenCode 2 message itself suggests connecting a provider. TeamoRouter gives you one key for GPT, Gemini, DeepSeek, Kimi, GLM and Claude, billed per token from a prepaid balance.
- Create an API key in the TeamoRouter console. Top up from $5 by card or Alipay; there's no subscription. You can also click Pay with crypto in the top-up dialog and pay with USDT, USDC or ETH (how to pay with USDT).
- Add a provider to
~/.config/opencode/opencode.json(all projects) oropencode.jsonin your project:
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"teamorouter": {
"npm": "@ai-sdk/openai-compatible",
"name": "TeamoRouter",
"options": {
"baseURL": "https://api.teamorouter.com/v1",
"apiKey": "{env:TEAMOROUTER_API_KEY}"
},
"models": {
"gpt-6.1-sol": { "name": "GPT 6.1 Sol" },
"deepseek-flash-1017": { "name": "DeepSeek V4.1 Flash 1017" },
"kimi-k3.1-pro": { "name": "Kimi K3.1 Pro" },
"glm-5.3": { "name": "GLM-5.3" }
}
}
}
}
This is the custom provider format from the OpenCode 1 docs. OpenCode 2 still reads it, according to its migration guide. In native OpenCode 2 config, provider becomes providers, npm becomes package (@opencode/ai/providers/openai-compatible) and options becomes settings (OpenCode 2 docs).
- Give OpenCode the key:
export TEAMOROUTER_API_KEY="your TeamoRouter API key"
OpenCode 2 sends requests from a shared background server, so give the variable to that server with opencode service set env TEAMOROUTER_API_KEY "your key" (docs). On OpenCode 1 you can instead run /connect, choose Other, enter the provider ID teamorouter and paste the key. Then delete the apiKey line.
- Run
/modelsand pick a TeamoRouter model. To make one the default, add"model": "teamorouter/gpt-6.1-sol"to the config.GET /v1/modelswith your key lists every model ID.
In OpenCode Desktop you can add the same provider under Settings → Server → Providers → Custom provider; see Connect OpenCode to TeamoRouter. That guide doesn't recommend Claude models through this provider, because it uses the OpenAI protocol and can miss Claude's cache. For Claude, use Claude Code.
FAQ
Will waiting fix "Free usage exceeded"? The countdown is the service's retry time. If it reaches zero and starts again, waiting longer hasn't helped the people reporting it. Email help@anoma.ly.
What do I get with OpenCode Go?
Paid access to the models on the Go list, under the opencode-go/ prefix: $10 a month, or $40 for Go Plus, according to the Go docs. Each model has limits over five-hour, weekly and monthly windows. When you reach them, the docs say you can keep using the free models, or turn on Extra Usage to continue from Console credit.
Do I need an OpenCode account to use my own provider? No. OpenCode's Console docs say Console is optional and you can use any other provider instead. A custom provider needs only a base URL and an API key.
Where do I report billing or account problems? Email help@anoma.ly. OpenCode handles billing by email, and maintainers close billing issues on GitHub and send people there (#52958).