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

  1. Use .github/copilot-instructions.md as the broad Copilot repository baseline.
  2. Keep CLAUDE.md for Claude Code, and treat Copilot CLAUDE.md support as surface-specific.
  3. Verify each Copilot surface your team uses before deleting or consolidating instruction files.
  4. 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.

AreaQuestionSafe answerAction
Need broad Copilot coverage?Use .github/copilot-instructions.md as the baselineCLAUDE.md support is not the broad default across every Copilot surfaceKeep Copilot rules in the GitHub instructions path
Using Claude Code?Use CLAUDE.md for Claude Code memoryDo not remove it just because Copilot has its own instructions fileSynchronize shared commands and safety boundaries
Using Codex?Use AGENTS.md for Codex repository instructionsDo not expect AGENTS.md, CLAUDE.md, and Copilot paths to be interchangeableKeep one maintained policy and concise adapters
Unsure about a Copilot surface?Check the current GitHub support matrixAvoid global yes-or-no claimsRun a small controlled task and record what was followed

Execution steps

01

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.

02

Map files to each surface

Compare AGENTS.md, CLAUDE.md, .github/copilot-instructions.md, and path-specific instructions against the current support matrix.

03

Set the broad baseline

Put Copilot-wide repository rules in .github/copilot-instructions.md, then keep Claude-specific memory in CLAUDE.md.

04

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.