[Bug] OpenCode free tier models returning 403 FreeTierError via 9router proxy
Description
OpenCode free tier models (mimo-v2.5-free, muse-spark-1.2-contributor-free) started returning 403 FreeTierError when accessed through 9router proxy. This started approximately 15 minutes ago (Sep 16, 2026 ~20:55 UTC-3). The models were working fine for weeks before this.
Error Log
20:55:50 ▶ POST oc/mimo-v2.5-free → opencode/mimo-v2.5-free · FMT: openai→openai · STREAM · 2 MSG · 38 TOOL · ACC:Public 20:55:50 ℹ️ PROXY OPENCODE | mimo-v2.5-free | conn=Public | pool=*** | vercel-relay=https://elysium-hw3a89h6n-elysium13.vercel.app 20:55:50 ▶ POST oc/mimo-v2.5-free → opencode/mimo-v2.5-free · FMT: openai→openai · JSON · 2 MSG · ACC:Public 20:55:51 ✗ ERROR 403 · opencode/mimo-v2.5-free · 779ms URL: https://opencode.ai/zen/v1/chat/completions 403: {"type":"error","error":{"type":"FreeTierError","message":"Error from provider (Console): OpenCode's free tier can only be used from within OpenCode"}} 20:55:53 ✗ ERROR 403 · opencode/mimo-v2.5-free · 2196ms URL: https://opencode.ai/zen/v1/chat/completions 403: {"type":"error","error":{"type":"FreeTierError","message":"Error from provider (Console): OpenCode's free tier can only be used from within OpenCode"}} 20:55:53 ▶ POST oc/muse-spark-1.2-contributor-free → opencode/muse-spark-1.2-contributor-free · FMT: openai→openai-responses · STREAM · 1 MSG · 38 TOOL · ACC:Public 20:55:53 ✗ ERROR 403 · opencode/muse-spark-1.2-contributor-free · 420ms URL: https://opencode.ai/zen/v1/responses 403: {"type":"error","error":{"type":"FreeTierError","message":"Error from provider (Console): OpenCode's free tier can only be used from within OpenCode"}}
Environment
- 9router version: latest
- Models affected:
oc/mimo-v2.5-free,oc/muse-spark-1.2-contributor-free - Provider:
opencode(viaopencode.ai/zen/v1) - Connection: Public
Additional Context
- These models were working fine through 9router for weeks before this error started.
- The error suggests OpenCode added server-side validation to ensure free tier models can only be accessed from the official OpenCode client.
- This seems to be a new restriction deployed by OpenCode in the last ~15 minutes.
- Other users may be affected by this change.
Expected Behavior
Free tier models should continue to work through the 9router proxy as they did before.
Actual Behavior
All free tier models return 403 with FreeTierError: OpenCode's free tier can only be used from within OpenCode.
Source: decolua/9router