Summary
gpt-5.6-luna is advertised as available in the Copilot Models API (GET /models), but it cannot be used via the /chat/completions endpoint — the standard OpenAI-compatible surface. It only works through /responses, which breaks tooling that relies on chat completions (e.g. Mixture-of-Agents workflows, aggregators, OpenAI-compatible SDK clients).
Environment
- Endpoint:
https://api.githubcopilot.com
- Auth: GitHub Copilot individual subscription (token from
gh auth token)
- Integrator:
copilot-language-server
- Headers used:
Editor-Version: vscode/1.104.1, Openai-Intent: conversation-edits, x-initiator: agent
Steps to reproduce
-
GET https://api.githubcopilot.com/models → response includes:
{"id": "gpt-5.6-luna", "capabilities": {"limits": {...}}}
(also listed in GET https://api.githubcopilot.com/models?intent=chat)
-
POST https://api.githubcopilot.com/chat/completions with:
{"model": "gpt-5.6-luna", "messages": [{"role": "user", "content": "Say OK"}], "stream": true}
→ HTTP 400:
{"error": {"message": "model \"gpt-5.6-luna\" is not accessible via the /chat/completions endpoint", "code": "model_not_supported", "type": "invalid_request_error"}}
-
The same request to POST https://api.githubcopilot.com/responses works (returns a valid response).
Expected behavior
A model that is advertised in GET /models should be callable through the standard /chat/completions endpoint. If a model is restricted to a specific API surface, the /models response should expose that restriction (e.g. a supported_endpoints / api_modes field), so clients can discover it without trial-and-error.
Impact
- Breaks any client that uses the OpenAI-compatible chat completions interface (most third-party tools, aggregators, Mixture-of-Agents runtimes).
- Confusing developer experience: model appears in the picker/list but fails at runtime with a non-obvious error.
- No way to discover the endpoint restriction from the API itself — only by hitting the error.
Notes
Summary
gpt-5.6-lunais advertised as available in the Copilot Models API (GET /models), but it cannot be used via the/chat/completionsendpoint — the standard OpenAI-compatible surface. It only works through/responses, which breaks tooling that relies on chat completions (e.g. Mixture-of-Agents workflows, aggregators, OpenAI-compatible SDK clients).Environment
https://api.githubcopilot.comgh auth token)copilot-language-serverEditor-Version: vscode/1.104.1,Openai-Intent: conversation-edits,x-initiator: agentSteps to reproduce
GET https://api.githubcopilot.com/models→ response includes:{"id": "gpt-5.6-luna", "capabilities": {"limits": {...}}}(also listed in
GET https://api.githubcopilot.com/models?intent=chat)POST https://api.githubcopilot.com/chat/completionswith:{"model": "gpt-5.6-luna", "messages": [{"role": "user", "content": "Say OK"}], "stream": true}→ HTTP 400:
{"error": {"message": "model \"gpt-5.6-luna\" is not accessible via the /chat/completions endpoint", "code": "model_not_supported", "type": "invalid_request_error"}}The same request to
POST https://api.githubcopilot.com/responsesworks (returns a valid response).Expected behavior
A model that is advertised in
GET /modelsshould be callable through the standard/chat/completionsendpoint. If a model is restricted to a specific API surface, the/modelsresponse should expose that restriction (e.g. asupported_endpoints/api_modesfield), so clients can discover it without trial-and-error.Impact
Notes
gpt-5.3-codexnot accessible via/chat/completions) — likely affects other GPT-5.x models too.