github / github/copilot-cli

Repo-level instruction files (AGENTS.md/CLAUDE.md/etc.) are not preserved across  /compact

Open
#4,687 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

area:context-memory
Dominant language
Shell
Stars
11.2k
Forks
1.9k
Avg merge
14h 16m
Merged PRs (30d)
6

Description

Describe the bug

(Written by Sonnet 5 as we mutually investigated the issue in-session in copilot-cli)
Early in a long session, the agent correctly read and followed a rule in the repo's  AGENTS.md  ("never commit directly to  main ; create a topic branch first"). Mid-session, context compaction occurred. After compaction, the agent committed directly to  main  twice, violating the rule it had followed earlier — it had no indication the rule still applied and never re-read AGENTS.md after compaction.

Root cause: compaction summarizes conversation history, but standing repo instruction files aren't treated as pinned/reloaded — they're just facts that can get compressed away like anything else discussed early in the session.

Suggested fix: on compaction, either (a) re-inject the current contents of any active instruction files (AGENTS.md, CLAUDE.md, copilot-instructions.md, etc.) into the fresh context, or (b) explicitly prompt/require the agent to re-read them before resuming file-editing/git work post-compaction.

Impact: silent policy drift after compaction in any long session touching a repo with custom agent instructions — particularly dangerous for rules like branch protection, since a violation may not surface until a human notices.

Affected version

1.0.80

Steps to reproduce the behavior
  1. Open a session in a repo containing an  AGENTS.md  (or  CLAUDE.md / copilot-instructions.md ) with an explicit git-workflow rule, e.g. "never commit directly to  main ; create a topic branch first."
  2. Have the agent read that file early in the session (directly, or incidentally via a  view / grep  call) and perform at least one commit that correctly follows the rule (confirms the rule was live in context).
  3. Continue the session with enough unrelated work/turns that automatic or manual ( /compact ) context compaction occurs at least once.
  4. After compaction, ask the agent to make further code changes and commit them in the same repo, without re-mentioning the branching rule.
  5. Observe: the agent commits directly to the currently-checked-out default branch (e.g.  main ), violating the rule it followed correctly in step 2 — with no re-read of  AGENTS.md  and no acknowledgment that a repo policy exists.
Expected behavior

The rule from  AGENTS.md  continues to be honored after compaction, either because the file's contents are re-injected into context at compaction time, or because the agent is prompted to re-read active instruction files before resuming work in that repo.

Actual: the rule silently stops being followed post-compaction, with no error, warning, or indication to the user that it had been dropped — only surfaced when the human happened to notice the resulting commits.

Additional context

No response

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

The issue names active instruction files (AGENTS.md, CLAUDE.md, and copilot-instructions.md) and the /compact flow; start by tracing how compaction resumes a session and how these files are initially loaded. Reproduce the numbered workflow, then verify that post-compaction work still observes the branch rule or explicitly reloads the files.

Written by the indexing model from the issue text.

Assessment

Tech stack
git
Domain
cli, developer-experience
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.