v0.100.0 removed a critical user capability: hard 90% clamp nullifies user-defined compaction threshold
What version of Codex CLI is running?
101
What subscription do you have?
pro
Which model were you using?
gpt-5.3-codex
What platform is your computer?
Linux 6.8.0-94-generic x86_64 x86_64
What terminal emulator and version are you using (if applicable)?
_No response_
What issue are you seeing?
v0.100.0 removed a critical user capability by introducing a hard clamp:effective_auto_compact_limit = min(user_config_limit, context_window * 90%).
When context_window exists, higher user-defined model_auto_compact_token_limit values are silently ignored.
For default users this change adds almost no practical value (they were already on ~90% behavior), while for advanced users it removes intentional threshold control and causes earlier forced compaction.
What steps can reproduce the bug?
- Install and run
rust-v0.99.0(baseline). - Set config:
model_context_window = 100model_auto_compact_token_limit = 200
- Start a new session/thread and send prompts until token usage is >90 but <200.
- Observe on
v0.99.0: no auto-compaction at 90; high configured limit is respected. - Upgrade to
rust-v0.100.0(orv0.101.0) with the same config and repeat. - Observe on
v0.100.0+: auto-compaction triggers around 90% anyway.
Code snippet:
# ~/.codex/config.toml
model_context_window = 100
model_auto_compact_token_limit = 200
Thread ID:
N/A (local CLI regression; reproducible without a backend thread id)
What is the expected behavior?
If user sets model_auto_compact_token_limit, Codex should respect that explicit configured value (as pre-v0.100.0 behavior did), instead of silently clamping it to 90% of context window.
Additional information
- Commit introducing clamp behavior:
https://github.com/openai/codex/commit/40de788c4d703b504ba13dd74b50f36863afc698
- Clamp implementation:
- Validation test added in same commit:
3 Comments
This change was intentional. We're seeing way too many backend errors where compaction fails due to overflows.
Why do you want to exceed this?
For development on complex projects, having the model hit the context limit and stop naturally is far more controllable than the model automatically compacting context on its own in an uncontrolled way (compaction failure or reaching the context limit are both outcomes I can anticipate, but for someone like me who is used to starting more than ten Codex sessions at the same time from a phone, automatic context compaction is very hard to anticipate).
In complex projects, after the model is forcibly auto-compacted, it will still act under the premise that it has sufficient context (but at this time, the model has in fact already been compacted, so it does not understand the project, and much key information has already been lost), which causes the model to confidently make destructive actions.
For small projects this is not important, but for medium and large AI-driven complex projects it is very fatal.
In my personal judgment, gpt-5.3-codex is far stronger than Opus 4.6 on complex projects, roughly a 90 vs 70 gap, but the risk brought by this forced context compaction directly cancels out Codex’s advantage; I can only compile an unrestricted Codex myself or adapt to Opus 4.6.
OK, thanks for that context. It sounds like you'd like finer-grained controls over auto compaction. Please upvote this issue if you'd like to see that.