`codex resume` context compression drops recent conversation context, making continuation impossible
Problem
When using codex resume to continue a previous conversation, the desktop app compresses/truncates the conversation history before loading it into a new context window. However, the compression algorithm prioritizes globally important information over recent information, which means:
- The last 3-5 turns (which contain the user's latest instructions, current task progress, recent errors, and in-progress decisions) are often discarded or severely truncated.
- Instead, the summary preserves older background context that, while important in a global sense, is useless without knowing what just happened.
- Result: the resumed session cannot continue the previous task — it's effectively amnesic.
Reproduction
- Have a long conversation (20+ turns) with concrete ongoing work (e.g., debugging a crash, configuring plugins, writing code)
- Let the session approach the context limit or naturally trigger
codex resume - Resume the conversation
- The AI agent cannot recall:
- The exact error message from the last 2 turns
- The file path or config value being edited
- The user's most recent specific instruction
- What step was next in the task
Expected Behavior
When compressing conversation history for resume, the system should use a recency-weighted approach:
| Recency | Turns | Weight | What to keep |
|---------|-------|--------|-------------|
| 🔴 Most recent | Last 3 turns | ~50% | Full user messages, errors, latest decisions |
| 🟡 Recent | Turns 4-8 | ~30% | Context, chosen approaches, file paths |
| 🟢 Mid | Turns 9-15 | ~15% | Background, failed attempts, sub-tasks |
| ⚪ Early | Older | ~5% | Project goal, completed milestones |
Minimum items any compressed summary must contain
- Current task and progress status
- User's last 3 specific requests (original text + intent)
- Most recent error messages (verbatim)
- File paths, config keys, and variable values involved
- Content explicitly marked "remember this" by the user
Impact
This makes codex resume unreliable for long-running development sessions where users need to pick up exactly where they left off.
Environment
- Codex Desktop (latest version)
- macOS
- Heavy usage: long sessions (50+ turns), multiple context-compression events per session
5 Comments
Potential duplicates detected. Please review them and close your issue if it is a duplicate.
Powered by Codex Action
+1
Compression needs a hard recency floor separate from the global summary.
I would keep the last N user/assistant/tool boundary events as structured carryover: latest user instruction, current files/commands, recent errors, open tool ids, and next-step state. The older context can be summarized aggressively, but the recent tail should survive verbatim or near-verbatim.
Otherwise resume optimizes for background knowledge while losing the active task pointer.
---
_Generated with ax._
I guess now we know where the cost cuts were hidden in... Same issues here
Same issue. After I run
codex resume <session_id>, I can only see my first message and the error message■ Conversation interrupted - tell the model what to do differently. Something went wrong? Hit
/feedbackto report the issue.