GPT-5.6 Sol cannot reach the public 1M/900K Codex configuration: the ChatGPT-backed Codex service enforces a remote 872K cap even after the bundled source limit is raised
What version of Codex CLI is running?
Codex CLI: 0.150.0-alpha.8 Controlled local source build: codex-cli 0.0.0 at commit 6be2a6ca952ac9f70676ce4dd07fda27175aa9dd
What subscription do you have?
ChatGPT Plus
Which model were you using?
gpt-5.6-sol
What platform is your computer?
Linux 6.6.87.2-microsoft-standard-WSL2 x86_64 x86_64 WSL distribution: Ubuntu-24.04
What terminal emulator and version are you using (if applicable)?
Terminal emulator and version were not recorded. No terminal multiplexer (screen, tmux, or zellij) was in use.
Codex doctor report
doctor not available
What issue are you seeing?
I followed the public configuration shared for enabling a one-million-token context window in Codex with GPT-5.6 Sol:
https://x.com/thsottiaux/status/2089082893804896524
model = "gpt-5.6-sol"
model_context_window = 1000000
model_auto_compact_token_limit = 900000
In the current ChatGPT-authenticated Codex path, these values cannot be reached through either user configuration or a bundled source change.
With the configuration above, /status reports:
Context window: 99% left (22.8K used / 828K)
The sanitized runtime event reports the exact usable window:
{
"type": "token_count",
"info": {
"model_context_window": 828400
}
}
This corresponds to a raw 872,000-token window after Codex applies its 95% usable-context factor:
872,000 × 95% = 828,400
The same server-delivered maximum also prevents the configured 900,000-token automatic-compaction threshold from taking effect:
resolved context: min(1,000,000, 872,000) = 872,000
usable context: 872,000 × 95% = 828,400
resolved auto-compact: min(900,000, 872,000 × 90%) = 784,800
I then performed a controlled local-source experiment. I changed only the bundled GPT-5.6 Sol max_context_window from 872000 to 1000000, leaving context_window, effective_context_window_percent, the clamp, and compaction logic unchanged.
A targeted codex-models-manager test confirmed that the same user configuration then resolves locally to:
resolved context window: 1,000,000
automatic compaction limit: 900,000
usable context at 95%: 950,000
All 48 targeted tests passed. I rebuilt the CLI from that source tree; the binary identified itself as codex-cli 0.0.0, and codex debug models --bundled confirmed the bundled 1,000,000 maximum.
However, an actual ChatGPT-authenticated session started with that exact locally built binary still reported an 828,400-token usable window. I also reproduced the same 828,400 result in Codex Desktop.
This is not merely stale CLI display output. The runtime token_count event contains model_context_window: 828400. The Codex source also shows that, under ChatGPT authentication, a non-empty remote model catalog becomes authoritative over the bundled catalog. The remote catalog therefore appears to continue supplying max_context_window = 872000, after which the normal client-side clamp reduces the configured values.
The confirmed conclusion is specific: the current ChatGPT-backed Codex service path does not expose a 1M context budget to the Harness. This experiment does not show that the standard GPT-5.6 Sol API rejects a 1M-token request; the budget is reduced by the service-provided model catalog before such a request can be constructed.
The behavior is silent: Codex accepts both configured values without warning that they were reduced to 872,000 and 784,800.
What steps can reproduce the bug?
- Add the following top-level configuration to
~/.codex/config.toml:
``toml``
model = "gpt-5.6-sol"
model_context_window = 1000000
model_auto_compact_token_limit = 900000
- Restart Codex CLI
0.150.0-alpha.8, start a new task, and run/status.
- Observe an approximately 828K usable context window rather than 950K:
``text``
Context window: 99% left (22.8K used / 828K)
- Inspect the runtime
token_count.info.model_context_windowevent. It reports828400.
- The same result can be reproduced in the current installed Codex Desktop build.
- For the controlled source experiment, change only the bundled GPT-5.6 Sol
max_context_windowfrom872000to1000000. Add an assertion for the1,000,000 / 900,000 / 950,000resolution and run:
``bash``
just test -p codex-models-manager
All 48 targeted tests pass.
- Rebuild Codex and confirm that the modified bundled catalog is present:
``bash``
codex debug models --bundled
- Start a ChatGPT-authenticated task with that exact local
codex-cli 0.0.0binary./statusand the runtime event still report 828,400, showing that the remote 872,000 catalog entry replaced the modified bundled value before the configuration overrides were resolved.
Thread ID: redacted for privacy.
The experimental source change was reverted after verification and was not committed.
What is the expected behavior?
If GPT-5.6 Sol is intended to support the published 1M Codex configuration:
- The applicable bundled and server-delivered model catalogs should allow
max_context_window >= 1000000. model_context_window = 1000000should resolve to 1,000,000.model_auto_compact_token_limit = 900000should resolve to 900,000.- The usable window should be 950,000 when the 95% factor is applied.
- Codex CLI and Desktop should show these values consistently.
If Codex intentionally limits the raw window to 872,000, the public instructions should state that limit and Codex should warn when configured values are clamped. For example:
model_context_window=1000000 was reduced to 872000 because
gpt-5.6-sol.max_context_window is 872000.
model_auto_compact_token_limit=900000 was reduced to 784800 because
automatic compaction cannot exceed 90% of the resolved context window.
Additional information
The relevant source paths at the tested commit are:
- Bundled GPT-5.6 Sol catalog entry: https://github.com/openai/codex/blob/6be2a6ca952ac9f70676ce4dd07fda27175aa9dd/codex-rs/models-manager/models.json#L30-L32
- Remote catalog selection under ChatGPT authentication: https://github.com/openai/codex/blob/6be2a6ca952ac9f70676ce4dd07fda27175aa9dd/codex-rs/models-manager/src/manager.rs#L445-L460
- Context override clamp: https://github.com/openai/codex/blob/6be2a6ca952ac9f70676ce4dd07fda27175aa9dd/codex-rs/models-manager/src/model_info.rs#L25-L37
- Usable-window and automatic-compaction calculations: https://github.com/openai/codex/blob/6be2a6ca952ac9f70676ce4dd07fda27175aa9dd/codex-rs/protocol/src/openai_models.rs#L492-L510
- Official GPT-5.6 Sol model page advertising a 1,050,000-token context window: https://developers.openai.com/api/docs/models/gpt-5.6-sol
Suggested regression coverage:
- With
max_context_window = 1,000,000, verify that the public configuration resolves to1,000,000 / 900,000 / 950,000. - With
max_context_window = 872,000, verify the current872,000 / 784,800 / 828,400result and surface a clear clamp warning. - Under ChatGPT authentication, explicitly test and document that a remote catalog entry is authoritative over the bundled entry.
Related reports and changes: #38917, #31868, #40347, #39144, #40258, and #39102.
This report is distinct from intermittent 272K/872K catalog routing. Even when the expanded 872K profile is delivered consistently, the 1M/900K configuration is deterministically clamped and cannot produce the stated values.
1 Comment
Potential duplicates detected. Please review them and close your issue if it is a duplicate.
Powered by Codex Action