Long-running Desktop session becomes huge and difficult to inspect after repeated compaction; thread read output is truncated
Summary
A long-running Codex Desktop conversation can accumulate a very large rollout history after repeated context compaction. The affected thread becomes difficult to inspect or resume: reading the thread returns a very large payload that is truncated by the client, while the latest interrupted turn does not expose a concise failure summary or a bounded diagnostic view.
This report is based on a single redacted local session. No raw rollout file, project source, user names, credentials, or private prompt content is attached.
Environment
- Product: Codex Desktop
- Platform: Windows 11 x64
- Codex CLI reported in the session metadata: 0.145.0-alpha.27
- Thread source: Desktop / local
- Affected thread ID:
019f84df-9cf2-7803-9587-c186c0212c8a
Observed behavior
- The thread contains a long sequence of repeated investigation/tool turns across multiple days.
- The latest turn is marked
interrupted, while the thread itself isidle. - A bounded read of the latest 10 turns produced a response of roughly 220k output tokens and was truncated by the client.
- A one-turn read still produced roughly 79k output tokens and was truncated.
- The rollout file for the affected thread is approximately 273.48 MiB with 66,875 lines.
- Redacted type counts from that file:
agent_message: 3,398custom_tool_call: 7,072function_call: 4,901context_compacted: 135patch_apply_end: 818- The thread history includes many repeated status/planning messages after compaction; the latest interrupted turn does not provide a compact root-cause/error summary.
Reproduction pattern
- Keep one Codex Desktop thread active for a long development workflow.
- Let the thread undergo repeated context compaction (especially when it includes many tool calls and delegated work).
- Continue the workflow across many turns.
- Open/read the thread or request a recent-turn summary.
- Observe that the response becomes very large and is truncated, making the thread difficult to inspect or recover after an interruption.
Expected behavior
- Thread history should remain bounded or deduplicated after compaction.
- Thread inspection should return a predictable bounded summary with explicit pagination and no huge implicit expansion.
- An interrupted turn should expose a concise diagnostic (reason, last completed tool, and safe resume point).
- Large histories should remain usable without requiring raw rollout-file inspection.
Privacy / security
The evidence above is intentionally redacted and aggregate-only. It omits local paths, project names, file contents, credentials, usernames, and raw session data. The session ID is included so OpenAI staff can locate the relevant uploaded thread if available.
Please let me know if a private diagnostic bundle or more targeted metadata is needed.
4 Comments
Additional redacted quota-consumption evidence
pro20x.This is a UI-observed aggregate measurement; no account identifier, billing identifier, prompt content, or raw usage log is included. The evidence is consistent with repeated continuation/compaction work causing unexpectedly high usage, but it does not by itself establish the exact token accounting or whether retries/tool calls were charged separately.
Potential duplicates detected. Please review them and close your issue if it is a duplicate.
Powered by Codex Action
Additional redacted UI/session-recovery evidence
This is an observed UI/session-history symptom and a possible trigger sequence, not a confirmed root cause. No screenshots, account identifiers, project content, or raw session data are attached.
This is a useful real-world stress case for Codex Rescue because the rollout is large, heavily compacted, and the latest turn is interrupted. I want to be clear that broad real-world compaction recovery is still experimental — I’m specifically trying to validate where the current diagnostic/salvage boundary is.
If you still have the affected session, would you be willing to try:
If it identifies the right rollout, sanitized
doctor/salvage --fork/verifyoutput would help a lot. Rescue leaves the original rollout untouched and fails closed when it cannot prove a safe continuation.Please don’t share the raw 273 MB rollout, prompts, source, SQLite DBs, credentials, or private paths.
https://github.com/shleder/codex-rescue