Skip to content

[Backend/model catalog] GPT-5.6 Sol is originator-gated: coding clients get 272K while the same account gets 872K #40258

Closed

Description

@Proview-China

What issue are you seeing?

Summary

On the same ChatGPT Pro account, the authenticated /backend-api/codex/models?client_version=0.149.0 endpoint returns two different GPT-5.6 Sol catalog variants based solely on the HTTP originator request header.

Codex coding surfaces receive:

{
  "slug": "gpt-5.6-sol",
  "context_window": 272000,
  "max_context_window": 272000
}

The same request, with the same authorization token, account ID, URL, client version, and network path, receives max_context_window: 872000 when the coding originator is absent or replaced by a non-coding originator.

This causes Codex App/CLI to clamp an explicit model_context_window = 372000 override to 272,000. After the normal 95% effective-window factor, the UI reports 258,400 tokens.

Controlled result

originator header Sol max_context_window Response ETag
codex_cli_rs 272000 bee0ee83ca1fe7b0d482cee5cf45ee98
codex-tui 272000 bee0ee83ca1fe7b0d482cee5cf45ee98
Codex Desktop 272000 bee0ee83ca1fe7b0d482cee5cf45ee98
codex_vscode 272000 bee0ee83ca1fe7b0d482cee5cf45ee98
omitted 872000 88ec06819eef0168a374351aeec2bc6c
foo 872000 88ec06819eef0168a374351aeec2bc6c
codex 872000 88ec06819eef0168a374351aeec2bc6c
codex_atlas 872000 88ec06819eef0168a374351aeec2bc6c
codex_chatgpt_desktop 872000 88ec06819eef0168a374351aeec2bc6c

Terra and Luna remain at max_context_window: 872000 in both catalog variants.

A structural comparison of the raw, un-deserialized response bodies shows that only gpt-5.6-sol changes. Its only differing fields are:

Field Coding-originator catalog Other/no-originator catalog
max_context_window 272000 872000
minimal_client_version 0.142.2 0.144.0
available_in_plans includes an additional ent26 entry no ent26 entry

Both variants include pro in available_in_plans. The account continuously reports plan_type: pro.

The raw response contains no cohort, experiment, rollout, bucket, region, entitlement, or downgrade-reason field. Response headers also contain no experiment/cohort marker.

User-visible regression timeline

With the same account, Codex CLI 0.149.0, model, and model_context_window = 372000 configuration:

  • Last observed effective window of 353,400: 2026-08-21T08:58:30Z
  • First observed effective window of 258,400: 2026-08-22T13:16:48Z

No CLI-version or local configuration change occurred between those observations.

This narrows the behavior reported in #39144: the server-side catalog split is reproducibly selected by originator, rather than by the account subscription alone.

What steps can reproduce the bug?

  1. Authenticate to the ChatGPT Codex backend with one account.
  2. Request the model catalog without an originator header:
curl -H "Authorization: Bearer <redacted-access-token>" -H "ChatGPT-Account-ID: <redacted-account-id>" "https://chatgpt.com/backend-api/codex/models?client_version=0.149.0"
  1. Record gpt-5.6-sol.max_context_window; it is 872000.
  2. Repeat the identical request, changing only this header:
-H "originator: codex_cli_rs"
  1. Record gpt-5.6-sol.max_context_window; it is now 272000.
  2. Repeat with codex-tui, Codex Desktop, and codex_vscode; all return the same 272K catalog ETag.
  3. Repeat with codex_atlas or codex_chatgpt_desktop; both return the 872K catalog ETag.
  4. In Codex App/CLI, configure model_context_window = 372000 and select Sol.
  5. Start a fresh thread. The remotely delivered max_context_window = 272000 clamps the configured value, producing a 258,400 effective context window.

No credentials, account IDs, or response cookies are included in this report.

What is the expected behavior?

GPT-5.6 Sol should receive the same 872,000 Codex override ceiling across supported Codex coding originators, consistent with Terra/Luna and the bundled 0.149.0 catalog.

If the 272K Sol limit is intentional for specific product surfaces, the distinction and rollout/eligibility criteria should be documented. The model-catalog response should not silently downgrade only Sol based on originator while the same account receives 872K through another first-party originator.

Additional information

Related issue: #39144

Relevant upstream change: #39102 / commit 2eee483e49f88b868f67364134a658b3298e6c14 explicitly raises the bundled maximum context override for GPT-5.6 Sol, Terra, and Luna to 872,000.

Codex 0.149.0 sends originator as a default request header. For ChatGPT authentication, the remote model catalog is authoritative, and the local override is clamped to the remotely supplied max_context_window.

The official GPT-5.6 Sol model page currently advertises a 1,050,000-token model context window. This report concerns the Codex product catalog limit and its originator-dependent server-side selection, not the underlying model specification.

Activity

  1. added
    CLIIssues related to the Codex CLI
    appIssues related to the Codex desktop app
    contextIssues related to context management (including compaction)
    on Aug 23, 2026
  2. Proview-China commented on Aug 23, 2026

    @Proview-China
    Author

    A clarification on intent: we have isolated the immediate trigger/mechanism, but not the backend rationale. The catalog selects the lower Sol variant when the request uses a supported Codex coding originator. What remains unknown is whether that behavior is deliberate.

    Could a maintainer clarify whether this is:

    • a permanent product policy,
    • a temporary or emergency mitigation,
    • a staged rollout/experiment, or
    • an unintended backend regression?

    If it is intentional, please document the reason and the eligibility/routing criteria. If it is a bug, please prioritize a fix. I had been using model_context_window = 372000 reliably (353,400 effective after the 95% factor), and the sudden server-side clamp to 272,000 (258,400 effective) is a material regression in my established workflow. Restoring at least the previously working 372K configuration would resolve the immediate disruption.

    For timeline context, I set model_context_window = 372000 only after Tibo's public post on X indicating that 1M context support was available. The 372K configuration then worked reliably before this regression appeared.

    I am aware that I could edit ~/.codex/models_cache.json locally to force the larger value, but I explicitly do not want to bypass the server-delivered catalog or rely on an unsupported cache modification. I want to remain within officially supported behavior and avoid any risk that such a workaround could be misclassified as circumvention or abusive access.

    As a half-Chinese user, I would rather not look like I am trying some gray-market workaround from China — half joking, but that is exactly why I prefer an officially supported fix over patching a local cache.

  3. Proview-China commented on Aug 23, 2026

    @Proview-China
    Author

    btw, if it's astra or sth else, close the issue without leaving any info.

  4. Lang45 commented on Aug 23, 2026

    @Lang45

    I can independently reproduce the same catalog behavior and user-visible result through the normal Codex coding-client path. After allowing Codex to refresh its remote model catalog, I inspected the three GPT-5.6 entries from the same fetch. Sol was returned with context_window: 272000 and max_context_window: 272000, while Terra and Luna both retained max_context_window: 872000. All three entries reported the same 95% effective-window factor.

    I then compared the refreshed remote catalog with codex debug models --bundled. The bundled catalog reports max_context_window: 872000 for Sol, confirming that the lower Sol limit exists only in the server-delivered coding-client catalog.

    For completeness, I was able to restore the larger window locally without editing the refreshable models_cache.json. I generated a separate model catalog from the normal remote catalog, changed only gpt-5.6-sol.max_context_window from 272000 to the 872000 value already present in the bundled catalog, and loaded that file through the documented model_catalog_json setting.
    After restarting Codex and opening a fresh Sol task, the 258.4K clamp was removed and the larger configured window was honored. I did not change the originator header, authentication, or any network request.
    This is only a client-side workaround.

  5. XiaoDaiGua-Ray commented on Aug 28, 2026

    @XiaoDaiGua-Ray

    I can independently reproduce this issue on macOS in Codex Desktop with ChatGPT authentication.

    Environment:

    • ChatGPT Desktop: 26.825.31414
    • Bundled Codex CLI: 0.150.0-alpha.12.2
    • Model: gpt-5.6-sol
    • Reasoning effort: Ultra
    • Observed: 2026-08-28 (Asia/Shanghai)

    Configuration:
    model_context_window = 1000000
    model_auto_compact_token_limit = 900000

    Observed behavior on the same ChatGPT-authenticated account:

    • GPT-5.6 Sol: context_window = 272000, max_context_window = 272000
    • GPT-5.6 Terra: max_context_window = 872000
    • GPT-5.6 Luna: max_context_window = 872000
    • All three report effective_context_window_percent = 95.

    The Codex UI reports 195,131 / 258K remaining/used capacity for the Sol task, and the local trace records full_context_window_limit = 258400. This exactly matches the 272,000 server-side cap after the 95% effective-window factor.

    The local 1M configuration does not change the Sol result; the server-delivered model metadata is authoritative and clamps the local value. I did not modify the refreshable model cache or any request headers. Terra and Luna receive the expanded profile in the same installation and account.

    The public GPT-5.6 model documentation lists a 1.05M context window for Sol, Terra, and Luna:
    https://developers.openai.com/api/docs/models/compare

    Could you please check whether this is an incomplete rollout, an account/entitlement mismatch, or an originator-specific model-catalog configuration? If the 272K Sol limit is intentional for Codex coding clients, please document the eligibility and routing rules; otherwise, please restore the expanded Sol profile.

  6. Proview-China commented on Sep 2, 2026

    @Proview-China
    Author

    Problem solved.
    Thank you Tibo and the codex/chatgpt team.
    Thank you for releasing the 872 k context window on the server side.

  7. samiralibabic commented on Sep 17, 2026

    @samiralibabic

    Problem solved. Thank you Tibo and the codex/chatgpt team. Thank you for releasing the 872 k context window on the server side.

    Solved how?

  8. XiaoDaiGua-Ray commented on Sep 22, 2026

    @XiaoDaiGua-Ray

    @samiralibabic just need upgrade codex!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    CLIIssues related to the Codex CLIappIssues related to the Codex desktop appbugSomething isn't workingcontextIssues related to context management (including compaction)

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions