Skip to content

Windows 0.153.4: high usage with V2 workers, Code Mode truncation and effort-change cache misses (local telemetry) #43229

Open

Description

@dogancanbaris

Summary

I am requesting investigation of unexpectedly high Pro allowance consumption on Windows, with a mixed Astra/Terra MultiAgent V2 workflow. We audited local logs rather than relying only on the UI. The records show substantial real model usage, but also output/truncation and effort/cache behavior matching existing reports. We are not claiming that raw token totals prove incorrect billing.

This report is based on my account's local telemetry, prepared with Codex and sanitized before posting. It adds a larger Windows 0.153.x case and a meter-to-request reconciliation to #40897, #42996 and #35463.

Environment

  • Windows, PowerShell, Codex desktop plus CLI; ChatGPT Pro.
  • Current CLI and running desktop executable: codex-cli 0.153.4.
  • Root session creation metadata: 0.153.1. Two largest workers: created with 0.153.4. Creation metadata is not an exact per-turn runtime version.
  • Root model: gpt-6-astra; main default medium effort, with actual effort changes during the session.
  • All eight workers in the largest task: gpt-5.6-terra, medium effort.
  • Saved turn contexts explicitly say multi_agent_version: "v2".
  • Current speed: standard (service_tier = "default"); historical request telemetry omits tier.

Relevant current configuration:

model = "gpt-6-astra"
model_reasoning_effort = "medium"
model_verbosity = "low"
service_tier = "default"

[features]
multi_agent = true
memories = true
goals = true
hooks = true

[features.context_management]
experimental_mode = true

[agents]
enabled = true
max_concurrent_threads_per_session = 4
default_subagent_model = "gpt-5.6-terra"
default_subagent_reasoning_effort = "medium"
max_depth = 1

No global context-window, auto-compact threshold, model-provider/catalog, or tool-output-limit override. No project config override was found for the largest task. We understand max_depth is ignored by V2 in the released source; all 31 workers active during the reported day nevertheless had depth one.

Observed allowance and request records

On September 5 local time (UTC-4), the weekly used percentage rose from 42% at 2026-09-05 16:39:49 UTC to 83% at 2026-09-06 02:06:54 UTC. It remained 83% overnight. The successful-record totals below cover the local calendar day, 04:00 UTC to 04:00 UTC, so the exact meter interval and aggregate interval differ slightly.

  • 38 recorded active threads, 4,976 unique successful response records.
  • Input: 673,459,926 tokens, including 655,156,736 cached input.
  • Output: 2,153,451 tokens, already including reasoning.
  • Astra main tasks: 2,205 requests; Terra workers: 2,443; Sol main tasks: 254; Astra workers: 74.
  • Largest task main: 1,666 Astra requests. Eight Terra workers: 1,925 requests combined.
  • Individual main-task input averaged 135,526 tokens per request; two largest workers averaged 141,577 and 150,911.

We summed token_usage_record.usage, deduplicated by response ID, rather than summing cumulative token_count events or stale thread summary counters. No duplicate response IDs were found in the broader 14,385-record scan. Earlier cumulative-only records were not treated as a complete weekly bill.

Concern 1: large nested outputs and repeated context growth

This resembles #40897 on Windows. The two largest Terra workers made 228 and 106 parallel batches. Their nested calls requested output budgets of 30,000 or higher at least 541 and 248 times. Tool-result records contained explicit truncation markers 90 and 48 times; the Astra main had 139 such records.

These are marker-containing records, potentially including nested/reprinted notices, not a count of independently proven truncation incidents. One QA aggregate reported roughly 1.70M original tokens before outer truncation; we do not assume all of that was model input or billed usage. Subsequent contexts nevertheless grew large and were reused across hundreds of requests.

Can the team confirm whether the nested Code Mode/output truncation strategy unnecessarily retains large results or causes repeated retrieval, and which supported controls constrain both inner results and model-visible retained output?

Concern 2: reasoning changes and cache misses

This matches the symptom in #42996:

Time UTC New effort Previous request cached First request cached Next request cached
Sep 5 19:00:11 high 99.64% 12.05% 96.17%
Sep 5 20:25:58 medium 99.00% 0.00% 99.15%
Sep 6 01:17:20 low 99.20% 12.06% 99.65%

The full main-task cache hit ratio remained 98.32%, so this is not a persistent cache collapse and cannot explain most of the day's consumption. It does appear to cause avoidable extra work at transitions.

Concern 3: model-specific context management in mixed worker trees

The new experimental context system is enabled for the Astra parent, with Terra workers. We are preparing a small controlled task/rollover comparison. This is currently a hypothesis, not a demonstrated failure: does a worker inherit context-management behavior that depends on model-specific capabilities? Is there a supported way to retain Astra's new context system while using the appropriate older compaction behavior for 5.6 workers?

Cross-checks and limitations

  • No nested worker explosion was observed; the two largest workers started with fresh context.
  • Four stored automations are paused and the queued-item table was empty.
  • No visible overnight meter drain. Memory startup was skipped below 25% remaining; memory inference is not completely represented by this ledger.
  • 19 response-stream retry warnings were found on the reported day. No matched retained operational signature for HTTP 429, anti-abuse/request blocking, capacity or invalid images under our narrow search.
  • 975 history-projection warnings included ordinal mismatches. This is why we avoided summary counters.
  • The meter generally moved in one-point increments. Repricing recorded work at current standard rates gave about 311-316 credit-equivalents per allowance point in each of the 50->60, 60->70 and 70->80 blocks. This argues against a sudden unexplained multiplier during those blocks, but it does not validate account entitlement, official Pro weights, or nonlocal/ephemeral usage.

Requested investigation

  1. Reconcile the account's allowance with the server-side request ledger, including entitlement, cache/speed weights and any anti-abuse/accounting adjustment. We can supply scoped response IDs privately.
  2. Confirm or rule out the Code Mode/output-growth mechanism in this Windows case.
  3. Assess the effort-change cache behavior against GPT-6 Astra reasoning-effort changes do not use configuration_update, defeating cache preservation #42996.
  4. Clarify model-specific context-management support/inheritance in mixed Astra/5.6 V2 trees.

Related: #40897, #42996, #35463, #41220. We recognize that #9748's historical server-side quota bug was reported fixed in February and do not assume it has recurred.

Sanitized diagnostic screenshots are prepared for attachment. They are rendered summaries of local numerical evidence, not screenshots of the product usage UI. No private source files, full prompts, credentials, account IDs or unredacted rollouts are included.

Activity

  1. added
    bugSomething isn't working
    appIssues related to the Codex desktop app
    windows-osIssues related to Codex on Windows systems
    rate-limitsIssues related to rate limits, quotas, and token usage reporting
    contextIssues related to context management (including compaction)
    subagentIssues involving subagents or multi-agent features
    on Sep 6, 2026
  2. dogancanbaris commented on Sep 6, 2026

    @dogancanbaris
    Author

    Follow-up with bounded live tests on the same installed Codex 0.153.4. These tests used isolated synthetic Python repair fixtures, not private project code. Actual model and Medium effort were verified in rollout records. Each initial repair passed 15 independent acceptance cases.

    Model Experimental context Requests Input tokens (includes cached) Cached input Output tokens
    Terra off 7 141,131 121,088 3,822
    Terra on 7 161,434 130,560 5,487
    Sol off 7 142,702 129,280 3,895
    Sol on 9 206,668 178,688 4,715
    Astra on 5 110,279 85,888 1,985

    Same fixture and task, fresh sessions, Medium effort, user config bypassed, memories/hooks disabled, no nested delegation. These are single runs, not statistically controlled benchmarks. Cache warmth, generated tests and retries differ. On/off differences cannot be attributed causally to context management from this sample. No natural long-context exhaustion occurred in the repair phase.

    We then required the enabled Terra and Sol sessions to checkpoint, perform one real context rollover, recover, and implement CSV export:

    • Sol completed actual rollover and recovery unaided, then passed four independent CSV checks while retaining all 15 original checks. Nine requests for this continuation.
    • Terra initially attempted await tools.new_context({}) inside Code Mode, received TypeError: tools.new_context is not a function, searched ALL_TOOLS, and incorrectly reported that rollover was unavailable. It stopped without editing. Four requests for the failed attempt.
    • A single corrective instruction to invoke the directly exposed functions.new_context tool outside Code Mode resolved it. Rollout evidence records the real new_context call and checkpoint reads; the extension then passed all four CSV checks and retained all 15 original checks. Eight requests for the corrected continuation.

    This reproduces a specific tool-routing/recovery error, not general Sol/Terra incompatibility or an uncontrolled retry loop. A clear distinction in model-visible guidance between direct context tools and the nested Code Mode tool list may help.

    The tagged eligibility code has feature/provider/auth/plan checks but no Astra-only model gate. Worker configuration cloning supports the possibility of experimental-mode inheritance. Neither establishes the cause of the earlier high allowance consumption.

    The visible meter remained at 84% used over the bounded experiment batch. Rounding and possible reporting delay mean this is not a zero-cost claim or an account-level accounting validation. No reset credit was redeemed. Screenshot upload is still pending browser sign-in; the numeric evidence above is posted now.

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 reportingsubagentIssues involving subagents or multi-agent featureswindows-osIssues related to Codex on Windows systems

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions