Environment
- ChatGPT Desktop for macOS build: 26.721.81911
- Bundled Codex CLI: 0.146.0-alpha.3.1
- Model: gpt-5.6-sol, medium reasoning
- macOS on Apple Silicon
- Time zone: Asia/Tokyo
- Global configuration includes
tool_output_token_limit = 2000
- Observed rollouts report
source = vscode
Issue
A normal user session that was mostly writing specifications rapidly consumed quota while its model context grew from about 22k to 50k–178k tokens.
The local rollout data shows multiple distinct rollout files for the same session ID, each with:
thread_source = user
parent_thread_id = null
- the same initial
last_input_tokens = 21,927
- roughly 732–748 historical
token_count events materialized into the rollout
Within approximately 25 minutes, the latest last_input_tokens values among these rollouts ranged from about 51,970 to 177,909. Cached input was very high (for example, 167,680 cached out of 169,297 input).
There were no newly observed spawn_agent calls or /side sessions in the affected period. The repeated large prefix therefore does not appear to be an explicit full-history subagent fork.
Why this is unexpected
The session was doing largely specification work, not repeatedly loading a large repository. Nevertheless, each new rollout appears to materialize the same already-large history and then grow again. This makes the context/quota cost disproportionate to the visible work.
Tool-output observation
After restart, tool_output_token_limit = 2000 appears to limit the model-visible history contribution of large code-mode results, but raw custom_tool_call_output records are still persisted in rollout JSONL (observed individual records up to about 295 KB). Therefore it does not resolve rollout/session-history replay or raw-output persistence.
Expected behavior
A user session should not repeatedly materialize a large accumulated history into distinct rollouts without an explicit user-visible fork/resume reason. Existing history should preserve cache lineage and avoid replay/duplication; tool outputs should not remain as unbounded raw payloads in history that compaction or a new rollout can replay.
Related issues
I can provide a sanitized, aggregate-only event timeline if helpful. I cannot share the full rollout JSONL because it contains private project content.
Environment
tool_output_token_limit = 2000source = vscodeIssue
A normal user session that was mostly writing specifications rapidly consumed quota while its model context grew from about 22k to 50k–178k tokens.
The local rollout data shows multiple distinct rollout files for the same session ID, each with:
thread_source = userparent_thread_id = nulllast_input_tokens = 21,927token_countevents materialized into the rolloutWithin approximately 25 minutes, the latest
last_input_tokensvalues among these rollouts ranged from about 51,970 to 177,909. Cached input was very high (for example, 167,680 cached out of 169,297 input).There were no newly observed
spawn_agentcalls or/sidesessions in the affected period. The repeated large prefix therefore does not appear to be an explicit full-history subagent fork.Why this is unexpected
The session was doing largely specification work, not repeatedly loading a large repository. Nevertheless, each new rollout appears to materialize the same already-large history and then grow again. This makes the context/quota cost disproportionate to the visible work.
Tool-output observation
After restart,
tool_output_token_limit = 2000appears to limit the model-visible history contribution of large code-mode results, but rawcustom_tool_call_outputrecords are still persisted in rollout JSONL (observed individual records up to about 295 KB). Therefore it does not resolve rollout/session-history replay or raw-output persistence.Expected behavior
A user session should not repeatedly materialize a large accumulated history into distinct rollouts without an explicit user-visible fork/resume reason. Existing history should preserve cache lineage and avoid replay/duplication; tool outputs should not remain as unbounded raw payloads in history that compaction or a new rollout can replay.
Related issues
I can provide a sanitized, aggregate-only event timeline if helpful. I cannot share the full rollout JSONL because it contains private project content.