Skip to content

Compaction strips system prompt's <agent_instructions> block from custom agent profiles selected via /agent #2895

@ming86

Description

@ming86

Describe the bug

When a custom agent is selected via /agent (or --agent=), the agent profile's instructions are loaded into the session system prompt context as <agent_instructions> block.
After /compact runs (either manually or via automatic compaction at ~80-95% context), the <agent_instructions> block is stripped from the context and not restored.

This effectively discards the custom agent's persona, behavioral rules, guidelines, and all other instructions -- making the /agent selection meaningless after compaction.

Affected version

1.0.34

Steps to reproduce the behavior

Steps to reproduce

  1. Create a custom agent profile at ~/.copilot/agents/my-agent.agent.md with disable-model-invocation: true and substantial instructions
  2. Launch copilot and select the agent via /agent
  3. Verify the agent instructions are active (e.g., the model follows behaviour defined in the custom agent file)
  4. Have a conversation long enough to trigger automatic compaction, or run /compact manually
  5. Observe that the model no longer follows the custom agent instructions
  6. Ask the model to check its system prompt — the <agent_instructions> block is absent

Expected behavior

Expected behavior

The system prompt's <agent_instructions> block from the selected custom agent profile should survive compaction. It is session configuration, not conversational history — it should be treated equivalently to .github/copilot-instructions.md or instruction files, which persist across compaction.

Actual behavior

The <agent_instructions> block is discarded during compaction. The model reverts to default behavior without the custom agent's rules.

Additional context

No response

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