Describe the bug
Describe the bug
When a user has large instruction files (global ~/.copilot/copilot-instructions.md and/or
repo-level .github/copilot-instructions.md) the agent enters a continuous auto-compaction
loop, wiping working memory on virtually every turn. Multi-step tasks never complete.
The session output becomes a wall of:
● Compacting conversation history...
● Compaction completed
└ A new checkpoint has been added to your session.
The agent loses all prior context, restarts the task from scratch, then compacts again immediately.
This repeats indefinitely. No multi-step work survives.
Affected version
GitHub Copilot CLI 1.0.57-5.
Run 'copilot update' to check for updates.
Broken: 1.0.52 through 1.0.57 (current stable as of 2026-06-01)
Working: 1.0.48 and below
Not tested: 1.0.49 through 1.0.51 (may work; the 1.0.52-2 changelog entry is the first mention of tier enforcement)
Affected version
GitHub Copilot CLI 1.0.57-5
Steps to reproduce the behavior
Steps to reproduce the behavior
- Create
~/.copilot/copilot-instructions.md with content >= 300 KB
(or combine global + repo instructions so the total exceeds ~150,000 tokens)
- Start a session in any repository
- Ask a multi-step question requiring 2+ tool calls (e.g., "read file X and summarize it")
- Observe repeated "Compacting conversation history..." output before the task completes
- Note that context is wiped each time, and the agent restarts the same task from scratch
- Observe this loop continues indefinitely
Expected behavior
Expected behavior
The agent completes multi-step tasks without compacting context mid-execution. If instructions
alone approach the tier limit, the agent should warn the user rather than silently loop.
/compact off should suppress all auto-compaction (tier-based and manual), not just
user-initiated compaction.
Additional context
Additional context
Root cause candidate — 1.0.52-2 changelog:
"Context window tier selection (default ~200K vs 1M tokens) is now enforced end-to-end,
so picking a tier actually constrains compaction, truncation, and token display"
This introduced hard tier-based limits into the auto-compaction trigger. The problem is that
the default tier (~200K tokens) does not account for the instructions footprint:
- Global instructions: ~374 KB ≈ ~140,000 tokens
- Repo instructions: ~33 KB ≈ ~12,000 tokens
- Instructions baseline at session zero: ~152,000 tokens
This leaves fewer than 50,000 tokens of working memory — not enough for any non-trivial
tool-call sequence. After compaction, instructions (which cannot be compacted) are still
152K tokens, so the threshold is immediately hit again. The session never stabilizes.
Why /compact off does not help:
/compact off disables user-initiated manual compaction only. Tier-enforcement auto-compaction
is a separate code path and is unaffected.
Partial fixes in 1.0.56–1.0.57 that did NOT resolve this:
- 1.0.56-0: "Context window tier selection now persists durably in session events and survives
SDK-only resume paths" — fixed tier persistence but not the instructions-footprint loop
- 1.0.57-4: "Session no longer hangs indefinitely after an error occurs during internal event
processing" — related symptom, different failure mode
Proposed fixes (any one would help):
- At session start, detect when instructions alone exceed the tier; warn/prompt rather than looping
- Set the effective tier floor = instructions_size + configurable working headroom minimum
- Make
/compact off suppress tier-based auto-compaction, not just manual compaction
- Allow users to opt into the 1M-token tier without per-turn enforcement
Workaround: Revert to 1.0.48 (or possibly anything prior to 1.0.52 — versions 1.0.49–1.0.51 not tested).
Environment:
- OS: Windows 11 (Build 26100)
- CPU: x86_64
- Terminal: Windows Terminal
- Shell: PowerShell / cmd
- Node.js: v24.15.0
- Installation:
npm install -g @github/copilot
Note on use case: The global instructions file is used as intended — centralizing org, team,
and repository standards so they apply across all sessions. This bug disproportionately affects
power users of the global instructions feature.
Describe the bug
Describe the bug
When a user has large instruction files (global
~/.copilot/copilot-instructions.mdand/orrepo-level
.github/copilot-instructions.md) the agent enters a continuous auto-compactionloop, wiping working memory on virtually every turn. Multi-step tasks never complete.
The session output becomes a wall of:
The agent loses all prior context, restarts the task from scratch, then compacts again immediately.
This repeats indefinitely. No multi-step work survives.
Affected version
Broken: 1.0.52 through 1.0.57 (current stable as of 2026-06-01)
Working: 1.0.48 and below
Not tested: 1.0.49 through 1.0.51 (may work; the 1.0.52-2 changelog entry is the first mention of tier enforcement)
Affected version
GitHub Copilot CLI 1.0.57-5
Steps to reproduce the behavior
Steps to reproduce the behavior
~/.copilot/copilot-instructions.mdwith content >= 300 KB(or combine global + repo instructions so the total exceeds ~150,000 tokens)
Expected behavior
Expected behavior
The agent completes multi-step tasks without compacting context mid-execution. If instructions
alone approach the tier limit, the agent should warn the user rather than silently loop.
/compact offshould suppress all auto-compaction (tier-based and manual), not justuser-initiated compaction.
Additional context
Additional context
Root cause candidate — 1.0.52-2 changelog:
This introduced hard tier-based limits into the auto-compaction trigger. The problem is that
the default tier (~200K tokens) does not account for the instructions footprint:
This leaves fewer than 50,000 tokens of working memory — not enough for any non-trivial
tool-call sequence. After compaction, instructions (which cannot be compacted) are still
152K tokens, so the threshold is immediately hit again. The session never stabilizes.
Why
/compact offdoes not help:/compact offdisables user-initiated manual compaction only. Tier-enforcement auto-compactionis a separate code path and is unaffected.
Partial fixes in 1.0.56–1.0.57 that did NOT resolve this:
SDK-only resume paths" — fixed tier persistence but not the instructions-footprint loop
processing" — related symptom, different failure mode
Proposed fixes (any one would help):
/compact offsuppress tier-based auto-compaction, not just manual compactionWorkaround: Revert to 1.0.48 (or possibly anything prior to 1.0.52 — versions 1.0.49–1.0.51 not tested).
Environment:
npm install -g @github/copilotNote on use case: The global instructions file is used as intended — centralizing org, team,
and repository standards so they apply across all sessions. This bug disproportionately affects
power users of the global instructions feature.