Yes, it is indeed an endpoint issue—more specifically, an issue with the API format, not with the key or authentication.
Diagnosis
According to the official OpenCode Go documentation (the “Endpoints” table), GPT 5.6 Luna is not served in the same way as other models:
| Model |
ID |
Endpoint |
| GPT 5.6 Luna |
gpt-5.6-luna |
https://opencode.ai/zen/go/v1/responses ← Responses API |
| Most others (Kimi, Qwen, GLM, DeepSeek…) |
… |
https://opencode.ai/zen/go/v1/chat/completions |
In other words, Luna uses OpenAI’s Responses API (/v1/responses), which has a different request/response schema than /v1/chat/completions.
Why OpenFox Fails
I checked OpenFox’s source code: its HTTP client is hardcoded to use the chat completions format:
// src/server/llm/http-client.ts
url: `${this.baseURL}/chat/completions`
And the client selector (src/server/llm/client.ts) routes all backends except Ollama to this same chat-completions client:
const httpFor = (b) => (b === 'ollama' ? ollamaHttpClient : httpClient)
There is no “Responses” or “Anthropic Messages” client in OpenFox (I grepped the entire repo: zero occurrences of /v1/responses). So when OpenFox sends gpt-5.6-luna to /chat/completions, the Go gateway rejects the request → only Luna crashes.
Native OpenCode, on the other hand, knows the correct endpoint for each model and routes Luna to /v1/responses, which is why it works.
Note (not just Luna)
Given the same issue, these Go models should also fail in OpenFox:
- Responses API (
/v1/responses): Grok 4.5, Muse Spark 1.2 Contributor, GPT 5.6 Luna
- Anthropic Messages (
/v1/messages): MiniMax M3/M2.7/M2.5, Qwen3.8 Max, Qwen3.7 Max, Qwen3.7 Plus, Qwen3.6 Plus
Yes, it is indeed an endpoint issue—more specifically, an issue with the API format, not with the key or authentication.
Diagnosis
According to the official OpenCode Go documentation (the “Endpoints” table), GPT 5.6 Luna is not served in the same way as other models:
gpt-5.6-lunahttps://opencode.ai/zen/go/v1/responses← Responses APIhttps://opencode.ai/zen/go/v1/chat/completionsIn other words, Luna uses OpenAI’s Responses API (
/v1/responses), which has a different request/response schema than/v1/chat/completions.Why OpenFox Fails
I checked OpenFox’s source code: its HTTP client is hardcoded to use the chat completions format:
And the client selector (
src/server/llm/client.ts) routes all backends except Ollama to this same chat-completions client:There is no “Responses” or “Anthropic Messages” client in OpenFox (I grepped the entire repo: zero occurrences of
/v1/responses). So when OpenFox sendsgpt-5.6-lunato/chat/completions, the Go gateway rejects the request → only Luna crashes.Native OpenCode, on the other hand, knows the correct endpoint for each model and routes Luna to
/v1/responses, which is why it works.Note (not just Luna)
Given the same issue, these Go models should also fail in OpenFox:
/v1/responses): Grok 4.5, Muse Spark 1.2 Contributor, GPT 5.6 Luna/v1/messages): MiniMax M3/M2.7/M2.5, Qwen3.8 Max, Qwen3.7 Max, Qwen3.7 Plus, Qwen3.6 Plus