Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

GPT-6 Astra: long_context tier reports 872k prompt tokens while model capabilities report 1,050k

Open
#4,927 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
35/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Active
Tech stack
vscode
Domain
api

Research direction

Start with the bundled Copilot SDK's client.listModels() response for gpt-6-astra and compare capabilities.limits with billing.tokenPrices.longContext. Trace the VS Code picker through _createModelConfigSchema, nb(), and _P() to confirm which values it surfaces. Done means identifying the enforced limit and making the catalog metadata consistent, or documenting why the values differ.

Written by the indexing model from the issue text.

Description

triage
Describe the bug

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
  1. Using the bundled SDK, start the runtime over stdio and call client.listModels().
  2. Inspect the gpt-6-astra entry.
  3. Compare capabilities.limits.max_prompt_tokens with billing.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 }
    }
  }
}
  1. 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 _createModelConfigSchemanb()_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.
  • Related but distinct: #4638 concerns how the CLI derives a total from prompt+output; this report concerns the server-supplied tier metadata disagreeing with the server-supplied capability metadata.
Dominant language
Shell
Stars
11.2k
Forks
1.9k
Avg merge
14h 16m
Merged PRs (30d)
6

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from github/copilot-cli

All issues in github/copilot-cli

Similar issues

More Shell/Bash issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.