Support is decided by surface
A Copilot Chat session in an IDE, a Copilot coding agent task, a code review flow, and a command-line workflow may not load the same instruction files. That is why the safe question is not only 'Does Copilot read CLAUDE.md?' but 'Which Copilot surface, on which date, reads which file?'
When the GitHub support matrix lists CLAUDE.md for a surface, use it as documented support for that surface. When it does not list CLAUDE.md, do not assume Claude Code memory will be honored by Copilot.
Recommended file policy
Use .github/copilot-instructions.md as the Copilot baseline because it is the repository-wide Copilot instructions path. Use CLAUDE.md for Claude Code project memory. Use AGENTS.md for Codex. If the same repo uses all three, keep shared policy language synchronized but keep each file short enough to review.
The shared policy should cover setup commands, verification commands, safe edit boundaries, secrets policy, generated-file rules, and human review conditions. The tool-specific file should only adapt that policy to the reader that actually loads it.
Common failure mode
The risky pattern is putting all Copilot guidance only in CLAUDE.md because one cloud-agent surface appears to support it. That can leave other Copilot surfaces without the repository rule you expected: no production writes, no secrets, required tests, or a specific package command.
The opposite mistake is saying Copilot never reads CLAUDE.md. The current safer wording is surface-specific: verify the surface, then keep .github/copilot-instructions.md as the broad baseline unless your usage is intentionally narrower.
How to verify your repository
Inventory the surfaces your team actually uses: IDE chat, GitHub web, coding agent tasks, code review, CLI, and any organization-level instruction sources. Then compare each surface against the current GitHub support matrix and update adapters in one reviewed change.
After updating files, run one small repository task in each surface and inspect whether the output followed the expected setup command, safety rule, and verification command. Record the date because support matrices and product behavior can change.
Recommended play
- Use .github/copilot-instructions.md as the broad Copilot repository baseline.
- Keep CLAUDE.md for Claude Code, and treat Copilot CLAUDE.md support as surface-specific.
- Verify each Copilot surface your team uses before deleting or consolidating instruction files.
- Update adapters together when setup commands, test commands, or security boundaries change.
CLAUDE.md support decision table
Use this table before deciding where Copilot-facing repository guidance should live.
| Area | Question | Safe answer | Action |
|---|---|---|---|
| Need broad Copilot coverage? | Use .github/copilot-instructions.md as the baseline | CLAUDE.md support is not the broad default across every Copilot surface | Keep Copilot rules in the GitHub instructions path |
| Using Claude Code? | Use CLAUDE.md for Claude Code memory | Do not remove it just because Copilot has its own instructions file | Synchronize shared commands and safety boundaries |
| Using Codex? | Use AGENTS.md for Codex repository instructions | Do not expect AGENTS.md, CLAUDE.md, and Copilot paths to be interchangeable | Keep one maintained policy and concise adapters |
| Unsure about a Copilot surface? | Check the current GitHub support matrix | Avoid global yes-or-no claims | Run a small controlled task and record what was followed |
Execution steps
List active Copilot surfaces
Write down whether the team uses IDE Chat, GitHub web tasks, coding agent flows, code review, CLI, or organization-level instructions.
Map files to each surface
Compare AGENTS.md, CLAUDE.md, .github/copilot-instructions.md, and path-specific instructions against the current support matrix.
Set the broad baseline
Put Copilot-wide repository rules in .github/copilot-instructions.md, then keep Claude-specific memory in CLAUDE.md.
Run a tiny behavior check
Ask each surface to perform a small task that depends on one instruction, then record whether it followed the expected rule.
Common pitfalls
Using CLAUDE.md as the only Copilot file
Keep .github/copilot-instructions.md for broad Copilot repository coverage.
Saying Copilot never reads CLAUDE.md
Use surface-specific wording and point readers to the current GitHub support matrix.
Letting adapters drift
Choose one maintained policy and update AGENTS.md, CLAUDE.md, Copilot instructions, and Cursor rules together.
Implementation checklist
- Confirm which Copilot surfaces the team uses.
- Check the current GitHub support matrix before relying on CLAUDE.md.
- Keep .github/copilot-instructions.md for broad Copilot guidance.
- Keep CLAUDE.md for Claude Code memory and workflows.
- Synchronize shared commands, safety boundaries, and verification rules.
- Record the verification date because support can change.
Questions this guide answers
What should you do first?
Use .github/copilot-instructions.md as the broad Copilot repository baseline.
Who is this guide for?
Maintainers standardizing Copilot, Claude Code, and Codex repository instruction files.
What evidence supports this guide?
This guide uses listed source material from GitHub, Anthropic. Source links and scope notes are available on this page.