Skip to content

Plan->Compact->Re-Plan infinite loop after auto-compaction #3157

@Akhi-microsoft

Description

@Akhi-microsoft

Summary

After auto-compaction triggers mid-session, the agent re-reads the compaction summary and resumes planning instead of executing. This creates a self-reinforcing loop: plan -> context fills -> compact -> re-read plan -> plan again -> repeat.

Repro

Started a coding task with agency copilot. After auto-compaction fired, the agent re-read the compaction summary and started re-planning instead of executing. This repeated through 217 plan->compact->re-plan cycles before I killed the session.

Root cause (hypothesis)

Compaction preserves the plan as the most salient signal in the new context window. Post-compact, the agent treats ""we have a plan"" as a fresh prompt to plan against, rather than as decided work to execute. With no execution-bias instruction surviving compaction, the loop is structural — not prompt-specific.

Expected behavior

After compaction, the agent resumes from the next concrete file edit. Plans already produced are treated as decided, not as a fresh prompt to re-plan against.

Actual behavior

Agent re-summarizes its own plan, validates it, and repeats. No file edits across hundreds of turns.

Impact

  • Quota / cost: hours of compute, hundreds of model calls, zero output
  • Productivity: full session lost, manual recovery required
  • Trust: undermines confidence in long-running autonomous tasks
  • Likely under-reported: users blame themselves before blaming the tool

Proposed fixes (priority order)

  1. Compaction summarizer: label plans as ""DECIDED — do not re-plan"" and surface ""next concrete action"" as the primary continuation signal.
  2. Inject a default post-compact rule: ""Resume from the next file edit. Do not re-validate the plan."" (Reference: github.com/Dicklesworthstone/post_compact_reminder)
  3. Add an --mode execute session flag that biases hard against planning preambles.
  4. Loop detector: N consecutive turns with zero file edits -> halt and prompt user. Suggested default N=3.
  5. Improve /compact defaults: drop planning history, keep only files modified, current error state, and next concrete action.
  6. Add telemetry signal for ""planning loop suspected"" to quantify real-world frequency.

Current workarounds

  • AGENTS.md with explicit ""no re-plan after compact"" rule
  • Post-compact reminder hook (manual third-party install)
  • Manual /compact at ~60% with explicit preservation instructions
  • HANDOFF.md as ground-truth state file

These work but should not be required of every user.

Reporter

Akhi Shukla — Senior PM, IC3 / UED, Prague
Manager: Bryan Castro | Skip: Nils Dussart

Happy to share session logs and join a triage call.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:agentsSub-agents, fleet, autopilot, plan mode, background agents, and custom agentsarea:context-memoryContext window, memory, compaction, checkpoints, and instruction loading

    Type

    No fields configured for Bug.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions