Repository navigation
Description
What happened
When the OpenCode free tier runs out, T3 Code fails the thread as a plain "Provider error": "Free usage limit reached. Connect a provider or subscribe to OpenCode Go to keep going, or switch models."
It never says when the limit resets, so there is no "Resets …" time and no "Resume at reset" or "Snooze until reset" actions. OpenCode itself shows the reset time for the same failure:
"You've used today's free messages. They reset at 5:58 AM · 11/5/2026."
[SCREENSHOT: T3 Code thread showing the "Provider error" with "Free usage limit reached..." and no reset time]
[SCREENSHOT: OpenCode TUI showing "You've used today's free messages. They reset at 5:58 AM · 11/5/2026."]
Diagnosis
OpenCode already sends the reset time. Running opencode run --format json -m opencode/crouton-alpha-free "say hi" after the limit prints this error:
{"type":"error","error":{"type":"provider.free-limit","message":"Free usage limit reached. Connect a provider or subscribe to OpenCode Go to keep going, or switch models.","status":429,"response":{"body":"{"type":"error","error":{"type":"FreeUsageLimitError",...}}"},"retryAfterMs":21486000}}
retryAfterMs is 21,486,000 ms (about 5.97 hours), which matches the TUI's "reset at 5:58 AM".
T3 Code's OpenCode 2 adapter (packages/provider-opencode/src/server/v2/adapter.ts, session.execution.failed) only treats provider.quota (non-402) and provider.rate-limit as usage limits, so provider.free-limit is classified as a provider error. It also never reads retryAfterMs, so no reset time is recorded for the thread.
Related: #18315 noted that OpenCode didn't send a reset time for these failures at the time. The free-tier error does send one now.
[SCREENSHOT: terminal output of the opencode run --format json error above]
Steps to reproduce
- Connect the OpenCode provider (OpenCode 2.x) in T3 Code.
- Pick a free model, e.g. opencode/crouton-alpha-free.
- Use it until the free daily limit is reached.
- Send another message in a T3 Code thread.
- The thread fails with "Provider error" and no reset time. Run the same prompt in OpenCode and it shows when the limit resets.
Version
T3 Code desktop app 0.1.6 (prod build). Commit hash unknown. OpenCode CLI v2.2.5.
Environment
macOS. T3 Code desktop app with the OpenCode provider (OpenCode 2.x), free tier, model opencode/crouton-alpha-free.
Evidence
- Raw OpenCode error (see Diagnosis): type "provider.free-limit", status 429, retryAfterMs 21486000.
- T3 Code thread error text: "Free usage limit reached. Connect a provider or subscribe to OpenCode Go to keep going, or switch models." shown as "Provider error".
[SCREENSHOT: T3 Code thread with the provider error]
[SCREENSHOT: OpenCode TUI with the reset time]Related issues
Searched pingdotgg/t3code issues and PRs for "opencode limit reset", "opencode usage limit", "provider.free-limit" and "retryAfterMs". Nothing covers the free-tier provider.free-limit error. Related, not duplicates: - #26265 / #26264: ChatGPT usage limit through OpenCode drops the reset time - #29301 (merged): Claude usage limits through OpenCode keep their reset time - #18315 (merged): OpenCode Go quota stops show as usage limits - #28375: show usage-limit warnings while OpenCode 2 retries
Fix applied or workaround
None. Check the reset time in the OpenCode TUI and resend after it passes.
Filed by
Claude Sonnet 5.5 via Claude Code in T3 Code
Activity