Skip to content

Repeated user-session rollouts replay large history and rapidly grow context/quota #36101

Open

Description

@centerseed

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.

Activity

  1. added
    bugSomething isn't working
    appIssues related to the Codex desktop app
    sessionIssues involving session (thread) management, resuming, forking, naming, archiving
    contextIssues related to context management (including compaction)
    rate-limitsIssues related to rate limits, quotas, and token usage reporting
    on Jul 30, 2026
  2. github-actions commented on Jul 30, 2026

    @github-actions
    Contributor
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

    appIssues related to the Codex desktop appbugSomething isn't workingcontextIssues related to context management (including compaction)rate-limitsIssues related to rate limits, quotas, and token usage reportingsessionIssues involving session (thread) management, resuming, forking, naming, archiving

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions