anomalyco / anomalyco/opencode
[Bug] OpenCode Go: some models return `403 Forbidden: {"model":"<model>"}` while others work (subscription active, limits not reached)
@fwang is already working on this.
Since Aug 3, 2026.
- Dominant language
- TypeScript
- Stars
- 209k
- Forks
- 27.5k
- PR merge metrics
- PR metrics pending
Description
Description
Using the OpenCode Go provider (opencode-go) with an active subscription and API key, certain models fail with AI_APICallError: Forbidden. The error body echoes the requested model id:
Forbidden: {"model":"mimo-v2.5"}
The subscription is active and usage limits are not exhausted. Other Go models work fine with the same key.
Environment
- opencode version: 1.18.11
- OS: Windows
- Provider:
opencode-go(OpenCode Go subscription) - Key type:
sk-...API key from the Zen console
Models affected
With the same API key, direct requests to https://opencode.ai/zen/go/v1/chat/completions:
| Model | Status |
|---|---|
mimo-v2.5 |
403 {"model":"mimo-v2.5"} |
mimo-v2.5-pro |
403 {"model":"mimo-v2.5-pro"} |
hy3 |
403 {"model":"hy3"} |
gpt-5.6-luna (via /responses) |
403 |
deepseek-v4-flash |
200 OK |
deepseek-v4-pro |
200 OK |
glm-5.2 |
200 OK |
glm-5.1 |
200 OK |
kimi-k3 |
200 OK |
kimi-k2.7-code |
200 OK |
qwen3.8-max |
200 OK |
grok-4.5 |
500 (separate server error) |
The affected models are listed in the gateway's catalog (GET https://opencode.ai/zen/go/v1/models includes mimo-v2.5, mimo-v2.5-pro, hy3, gpt-5.6-luna), so this is an authorization/entitlement decision, not "unknown model".
Repro (no opencode needed)
POST https://opencode.ai/zen/go/v1/chat/completions
Authorization: Bearer <opencode-go-api-key>
Content-Type: application/json
{ "model": "mimo-v2.5",
"messages": [{ "role": "user", "content": "hi" }],
"max_tokens": 3 }
Response:
HTTP/1.1 403 Forbidden
Content-Type: application/json
{"model":"mimo-v2.5"}
Not user-agent dependent (tested opencode, opencode/1.18.11, Mozilla/5.0 ..., curl/8.0, Python-urllib/3.11 — all return the same 403 body for the affected models; only Python-urllib triggers the separate Cloudflare 1010 block).
Expected behavior
All models advertised for the Go subscription (including mimo-v2.5) should be usable while the subscription is active and limits are not reached.
Additional context
- A related issue (#39374) describes a
Python-urllibuser-agent 403 — this is a different case: here the 403 is model-specific and independent of user-agent. - Docs page lists
MiMo-V2.5as a current Go model: https://opencode.ai/docs/go/
Plugins
No response
OpenCode version
No response
Steps to reproduce
No response
Screenshot and/or share link
No response
Operating System
No response
Terminal
No response
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.