Unraveling GitHub Copilot's API Model Discrepancy: A Hit to Remote Developer Productivity?
The Case of the Disappearing AI Models: A GitHub Copilot API Mystery
A recent discussion on GitHub's community forum has highlighted a perplexing issue for developers relying on GitHub Copilot's API. User michael-mue, utilizing a Copilot Student plan, reported a sudden change in model availability via the
api.githubcopilot.com endpoint. Newer, more advanced models like GPT-5.x, which were previously accessible and integral to their workflow with tools like Aider, abruptly vanished from the /models list. This unexpected shift can significantly impact remote developer productivity, as it disrupts established integrations and development practices.The Core Discrepancy: API vs. Chat UI
The crux of the issue lies in a striking inconsistency: while these advanced models disappeared from the OpenAI-compatible API endpoint, they remained fully functional within the Copilot Chat UI (in JetBrains, VS Code, or Neovim). This suggests a server-side change rather than a local configuration error or a general restriction on the user's plan.
Michael-mue provided a clear demonstration of the problem:
curl -s https://api.githubcopilot.com/models \
-H "Authorization: Bearer $JETBRAINS_COPILOT_OAUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "Copilot-Integration-Id: vscode-chat" \
| jq -r '.data[].id'This command, which previously listed GPT-5.2, now only returned older models like gpt-4o-mini, gpt-4o, and gpt-3.5-turbo variants, leading to litellm.BadRequestError: OpenAIException - The requested model is not supported. when attempting to use the newer models programmatically.
Community Insights: Why the Discrepancy?
The community offered several theories to explain this behavior, shedding light on GitHub's internal management of Copilot services:
- UI vs. API: Two Different Front Doors: As Vaibhav-S-Gowda explained, GitHub often treats the Copilot Chat UI and the public API as distinct products. The UI can be updated more frequently with "experimental" or "preview" models, while the API prioritizes stability and long-term support for integrations. This separation is key to maintaining reliable remote developer productivity for third-party tools.
- Plan-Based Restrictions and Feature Flags: Access to certain models, especially via the API, can be controlled by "Feature Flags" linked to specific plan types (e.g., Copilot Student vs. Business). Even if a model is available in the backend, the API endpoint might be programmed to only expose models officially allowed for a given plan.
- Different Routing Logic and Compatibility: The UI might have a "VIP pass," connecting directly to newer backend services that the public API endpoint isn't yet integrated with. Adding a model to the API implies a commitment to long-term support and compatibility, which GitHub might defer until a model is 100% stable.
The Server-Side Shift: A Likely Culprit
Despite these general explanations, michael-mue's core issue remained: the models were available via the API previously. This points strongly to a recent, unannounced server-side change. Midiakiasat's insight resonated most directly: a server-side allowlist/routing change on
api.githubcopilot.com is the likely cause. This would explain why models suddenly stopped being listed and accessible, even with an unchanged plan and authentication method.Actionable Steps for Developers
For developers facing similar issues, especially those impacting their remote developer productivity, the community suggested several troubleshooting steps:
- Capture Before/After Data: Document the output of
before and after the change, along with timestamps, plan details, authentication method (e.g., JetBrains OAuth), and exact headers used.GET /models - Test Different Integration IDs: Experiment with various
headers to see if model availability changes, ruling out routing specific to an integration ID.Copilot-Integration-Id - File a Detailed Bug Report: If the issue persists and multiple users (especially Pro/Enterprise) report similar drops, file a Copilot incident/bug report with all collected artifacts. This helps GitHub identify potential regressions or unannounced rollout changes to their model allowlist.
Consistent access to powerful AI models is crucial for enhancing developer workflows and boosting remote developer productivity. This community discussion highlights the need for clear communication from service providers when API capabilities shift, ensuring developers can adapt their tools and integrations without unexpected disruptions.