anomalyco / anomalyco/opencode
[Zen Go] /v1/responses returns 500 for all non-DeepSeek models (mimo/glm/ox-alpha) while /v1/chat/completions works
@fwang is already working on this.
Since Aug 25, 2026.
- Dominant language
- TypeScript
- Stars
- 209k
- Forks
- 27.5k
- PR merge metrics
- PR metrics pending
Description
Zen Go gateway: /v1/responses returns 500 for every non-DeepSeek model while /v1/chat/completions works
Summary
Since ~2026-08-25 13:00 UTC+8, the Go gateway (https://opencode.ai/zen/go/v1/responses) returns 500 Internal server error for all non-DeepSeek models, while the same models keep working via https://opencode.ai/zen/go/v1/chat/completions. This breaks Codex (desktop & CLI) users on the Go subscription, because Codex speaks the Responses wire protocol exclusively.
This looks like a regression in the gateway's chat→responses adapter layer. Notably glm-5.2 was already served natively over Responses (verified 2026-08-23) and is now also 500ing, so the breakage seems to affect the whole non-deepseek responses path.
Evidence matrix (probed directly against opencode.ai, bypassing any local proxy; 2026-08-25 14:10–14:20 UTC+8)
| upstream model id | POST /v1/responses |
POST /v1/chat/completions |
|---|---|---|
| deepseek-v4-flash | 200 completed | 200 |
| deepseek-v4-flash-vision-exp | 200 completed | 200 |
| deepseek-v4-pro | 200 completed | 200 |
| mimo-v2.5 | 500 {"type":"error","error":{"type":"error","message":"Internal server error"}} |
200 (slow, 13–29s) / intermittent timeouts |
| mimo-v2.5-pro | 500 Internal server error | 200 |
| glm-5.3 | 500 Internal server error | 200 |
| glm-5.2 | 500 Internal server error (was native-responses OK on 2026-08-23) | 200 |
| glm-5.1 | 500 Internal server error | 200 |
| glm-5 | 500 Internal server error | 200 |
| ox-alpha-free | 500 Internal server error | intermittent 200 / 503 "Endpoint is unavailable" |
Minimal reproduction
# 500 — responses endpoint
curl -sS -X POST https://opencode.ai/zen/go/v1/responses \
-H "Authorization: Bearer $ZEN_API_KEY" -H 'Content-Type: application/json' \
-d '{"model":"mimo-v2.5","input":[{"role":"user","content":[{"type":"input_text","text":"hi"}]}],"max_output_tokens":64,"stream":false,"store":false}'
# → HTTP 500 {"type":"error","error":{"type":"error","message":"Internal server error"}}
# 200 — same model, chat endpoint, same moment
curl -sS -X POST https://opencode.ai/zen/go/v1/chat/completions \
-H "Authorization: Bearer $ZEN_API_KEY" -H 'Content-Type: application/json' \
-d '{"model":"mimo-v2.5","messages":[{"role":"user","content":"hi"}],"max_tokens":32}'
Also reproducible with "stream":true, with string-style "input", and for every model listed above.
Impact
All Responses-wire clients (Codex family) on Go subscriptions cannot use mimo/glm/ox-alpha at all; only DeepSeek-family models remain usable. OpenCode desktop keeps working for these models because it uses the chat-completions path.
Request
Either restore the responses path for these models, or expose a per-model wire-format hint so clients can pin chat-completions. Happy to provide more traces if needed.
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.