anomalyco / anomalyco/opencode

[Zen Go] /v1/responses returns 500 for all non-DeepSeek models (mimo/glm/ox-alpha) while /v1/chat/completions works

Open
#44,910 3 comments 0 reactions 1 assignee View on GitHub

@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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.