You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The model catalog returned by the Copilot runtime for gpt-6-astra is internally inconsistent. The model's capabilities.limits advertise a 1,050,000-token prompt limit (1,178,000 context window), but the billing.tokenPrices.longContext tier — which VS Code's context-window picker uses to build its choices — caps out at 872,000.
As a result, VS Code offers Astra as 272K / 872K while every other 1M-class model (e.g. Claude Fable 5.1) is offered at its full advertised prompt limit. Selecting the long_context tier does not change this; the session is already on long_context and still shows 872k.
For comparison, claude-fable-5.1 is self-consistent: max_prompt_tokens = 936,000 and longContext.maxPromptTokens = 936,000.
Affected version
Copilot runtime @github/copilot-linux-x64 1.0.84-4 (bundled with VS Code on Linux x64), queried via the bundled Copilot SDK.
Steps to reproduce the behavior
Using the bundled SDK, start the runtime over stdio and call client.listModels().
Inspect the gpt-6-astra entry.
Compare capabilities.limits.max_prompt_tokens with billing.tokenPrices.longContext.maxPromptTokens.
In VS Code, open the context-window picker for GPT-6 Astra: choices are 272K and 872K. The picker enum is built from tokenPrices.contextMax / tokenPrices.longContext.contextMax (agent host _createModelConfigSchema → nb() → _P()), so the 1,050k capability value is never surfaced.
Expected behavior
Either:
billing.tokenPrices.longContext.maxPromptTokens for gpt-6-astra should match capabilities.limits.max_prompt_tokens (1,050,000), so the UI offers the full advertised context; or
if 872,000 is the actually enforced prompt limit on the long-context tier, capabilities.limits.max_prompt_tokens / max_context_window_tokens should be lowered to match, and the documented "1M context" for Astra should be qualified.
Clarification of which value the service actually enforces would be appreciated, since the two figures imply a ~178k-token difference in usable prompt budget.
Additional context
Observation: 872,000 = 1,000,000 − 128,000 and 1,050,000 = 1,178,000 − 128,000. The two values look like they were derived from different total-window figures (1M vs 1.178M) minus the same 128k output reservation, which suggests one side of the catalog was not updated.
Not client-configuration related: contextTier is already long_context in the session log, and the provider_models table in the local runtime DB is empty (metadata is fetched live), so there is no local override in play.
Describe the bug
The model catalog returned by the Copilot runtime for
gpt-6-astrais internally inconsistent. The model'scapabilities.limitsadvertise a 1,050,000-token prompt limit (1,178,000 context window), but thebilling.tokenPrices.longContexttier — which VS Code's context-window picker uses to build its choices — caps out at 872,000.As a result, VS Code offers Astra as 272K / 872K while every other 1M-class model (e.g. Claude Fable 5.1) is offered at its full advertised prompt limit. Selecting the
long_contexttier does not change this; the session is already onlong_contextand still shows 872k.For comparison,
claude-fable-5.1is self-consistent:max_prompt_tokens= 936,000 andlongContext.maxPromptTokens= 936,000.Affected version
Copilot runtime @github/copilot-linux-x64 1.0.84-4 (bundled with VS Code on Linux x64), queried via the bundled Copilot SDK.
Steps to reproduce the behavior
client.listModels().gpt-6-astraentry.capabilities.limits.max_prompt_tokenswithbilling.tokenPrices.longContext.maxPromptTokens.Observed (verbatim, trimmed):
{ "id": "gpt-6-astra", "limits": { "max_context_window_tokens": 1178000, "max_output_tokens": 128000, "max_prompt_tokens": 1050000 }, "billing": { "tokenPrices": { "contextMax": 272000, "maxPromptTokens": 272000, "longContext": { "contextMax": 872000, "maxPromptTokens": 872000 } } } }Reference model for comparison (consistent):
{ "id": "claude-fable-5.1", "limits": { "max_context_window_tokens": 1000000, "max_output_tokens": 64000, "max_prompt_tokens": 936000 }, "billing": { "tokenPrices": { "longContext": { "contextMax": 936000, "maxPromptTokens": 936000 } } } }tokenPrices.contextMax/tokenPrices.longContext.contextMax(agent host_createModelConfigSchema→nb()→_P()), so the 1,050k capability value is never surfaced.Expected behavior
Either:
billing.tokenPrices.longContext.maxPromptTokensforgpt-6-astrashould matchcapabilities.limits.max_prompt_tokens(1,050,000), so the UI offers the full advertised context; orcapabilities.limits.max_prompt_tokens/max_context_window_tokensshould be lowered to match, and the documented "1M context" for Astra should be qualified.Clarification of which value the service actually enforces would be appreciated, since the two figures imply a ~178k-token difference in usable prompt budget.
Additional context
872,000 = 1,000,000 − 128,000and1,050,000 = 1,178,000 − 128,000. The two values look like they were derived from different total-window figures (1M vs 1.178M) minus the same 128k output reservation, which suggests one side of the catalog was not updated.contextTieris alreadylong_contextin the session log, and theprovider_modelstable in the local runtime DB is empty (metadata is fetched live), so there is no local override in play.