The Zen gateway currently rejects thinking/reasoning config for GLM-4.7 (paid), Kimi K2.5 (paid), and MiniMax M2.1 (paid). All three models support thinking natively in their weights and via their direct provider APIs.
#### Steps to reproduce
Tested via `opencode.json` model config with three configurations across all four Zen
models.
**Config A — Thinking + interleaved:**
```json
{
"provider": {
"opencode": {
"models": {
"<model>": {
"options": {
"thinking": { "type": "enabled", "budgetTokens": 16000 },
"interleaved": { "field": "reasoning_content" }
}
}
}
}
}
}
Config B — Thinking only (no interleaved):
"options": {
"thinking": { "type": "enabled", "budgetTokens": 16000 }
}
Config C — No config (empty model entry):
"<model>": {}
Test command:
timeout 60 opencode run "What is 2+2? Think step by step." -m opencode/<model> --format
json
Results:
┌───────────────────┬──────────────────────────┬────────────────────┬──────────────────┐
│ Model │ Config A (thinking + │ Config B (thinking │ Config C (no │
│ │ interleaved) │ only) │ config) │
├───────────────────┼──────────────────────────┼────────────────────┼──────────────────┤
│ kimi-k2.5-free │ Works (reasoning > 0) │ Works (reasoning > │ Works │
│ │ │ 0) │ (reasoning: 0) │
├───────────────────┼──────────────────────────┼────────────────────┼──────────────────┤
│ kimi-k2.5 (paid) │ Rejected │ Rejected │ Works │
│ │ │ │ (reasoning: 0) │
├───────────────────┼──────────────────────────┼────────────────────┼──────────────────┤
│ glm-4.7 (paid) │ Rejected │ Rejected │ Works │
│ │ │ │ (reasoning: 0) │
├───────────────────┼──────────────────────────┼────────────────────┼──────────────────┤
│ minimax-m2.1 │ Rejected │ Rejected │ Works │
│ (paid) │ │ │ (reasoning: 0) │
└───────────────────┴──────────────────────────┴────────────────────┴──────────────────┘
Error messages:
- glm-4.7: Extra inputs are not permitted, field: 'thinking' — Zen doesn't recognize the
field at all
- kimi-k2.5 (paid) and minimax-m2.1: Input should be 'disabled', field:
'thinking.ThinkingConfigDisabled.type' — field exists but only accepts disabled
Only kimi-k2.5-free accepts thinking config (both A and B) and returns reasoning tokens.
All three paid models reject it.
The Zen gateway currently rejects thinking/reasoning config for GLM-4.7 (paid), Kimi K2.5 (paid), and MiniMax M2.1 (paid). All three models support thinking natively in their weights and via their direct provider APIs.