# Which coding agent reads which instruction file (October 2026)

CLAUDE.md, AGENTS.md, .cursor/rules, copilot-instructions.md, GEMINI.md: which file each coding agent reads, and which one wins. Checked October 2026.

By Stefan Teau, co-founder of Tape · October 26, 2026 · https://tapeit.dev/blog/which-agent-reads-which-file

Codex, Cursor, Copilot, Zed, Warp, Kiro, opencode and most other coding agents read AGENTS.md. Claude Code reads it only when there's no CLAUDE.md, and Gemini CLI needs a setting. The table shows what 14 tools read and which file wins, checked against each vendor's docs on 24 October 2026.

| Agent | Reads in the repo | Your own and org-wide files | Which wins |
| --- | --- | --- | --- |
| [Claude Code](https://code.claude.com/docs/en/memory) | `CLAUDE.md`, `.claude/CLAUDE.md`, `CLAUDE.local.md`, `.claude/rules/`; `AGENTS.md` only when there's no CLAUDE.md (v2.1.277 or later) | `~/.claude/CLAUDE.md`; your organization's managed CLAUDE.md | Any CLAUDE.md in your folder or above stops AGENTS.md from loading; a setting changes this |
| [OpenAI Codex](https://learn.chatgpt.com/docs/agent-configuration/agents-md) | `AGENTS.override.md`, else `AGENTS.md`, in each folder from the repo root down to your current folder; other names through `project_doc_fallback_filenames` | `~/.codex/AGENTS.md` | Files nearer your folder come later and win |
| [Cursor](https://cursor.com/docs/rules) | `.cursor/rules/*.mdc` (a plain `.md` there is ignored), `AGENTS.md` | User Rules; Team Rules from the dashboard on Team and Enterprise plans | Team Rules, then Project Rules, then User Rules |
| [GitHub Copilot on github.com](https://docs.github.com/en/copilot/concepts/prompting-and-context/custom-instructions) | `.github/copilot-instructions.md`, `.github/instructions/*.instructions.md`; for Copilot's agents, `AGENTS.md` anywhere or one root `CLAUDE.md` or `GEMINI.md` | Your personal instructions; your organization's instructions | All are used: personal first, then repository, then organization; the nearest AGENTS.md wins |
| [VS Code with Copilot](https://code.visualstudio.com/docs/agent-customization/custom-instructions) | `.github/copilot-instructions.md`, `AGENTS.md`, `CLAUDE.md`, `.github/instructions/`, `.claude/rules/` | Instructions in your VS Code profile, `~/.copilot/instructions`, `~/.claude/rules` | No fixed order: everything that applies is combined, and the docs say not to rely on precedence |
| [Gemini CLI](https://geminicli.com/docs/cli/gemini-md/) | `GEMINI.md` in your workspace folders and their parents, plus folders a tool opens (up to a trusted root); other names through `context.fileName` | `~/.gemini/GEMINI.md` | Every file found is joined into one |
| [Windsurf, now Devin Desktop](https://docs.devin.ai/desktop/cascade/agents-md) | `.devin/rules/` (formerly `.windsurf/rules/`); `AGENTS.md` at the root (always on) and in subfolders (for files there) | Not covered on the linked page | A subfolder's AGENTS.md applies only to files in that subfolder |
| [Zed](https://zed.dev/docs/ai/instructions) | The first one found of `.rules`, `.cursorrules`, `.windsurfrules`, `.clinerules`, `.github/copilot-instructions.md`, `AGENT.md`, `AGENTS.md`, `CLAUDE.md`, `GEMINI.md` | `~/.config/zed/AGENTS.md` | Only the first project file counts; it wins over your personal file when they conflict |
| [Cline](https://docs.cline.bot/customization/cline-rules) | `.clinerules/` or `.cline/rules/`; also `.cursorrules`, `.windsurfrules`, `AGENTS.md` | Cline's global rules folder; `~/.agents/AGENTS.md` | Workspace rules beat global rules |
| [Kiro](https://kiro.dev/docs/steering/) | `.kiro/steering/*.md`; `AGENTS.md` at the root and in subfolders (always included) | `~/.kiro/steering/` (AGENTS.md works there too) | Workspace steering beats global steering |
| [opencode](https://opencode.ai/docs/rules/) | `AGENTS.md`, else `CLAUDE.md`, walking up from your folder | `~/.config/opencode/AGENTS.md`, else `~/.claude/CLAUDE.md` | AGENTS.md beats CLAUDE.md: the opposite of Claude Code |
| [Warp](https://docs.warp.dev/agents/capabilities/rules/) | `AGENTS.md` or `WARP.md` at the root and in subfolders (WARP.md wins if both are in one folder) | Global Rules in Warp Drive | Subfolder file, then root file, then Global Rules |
| [Junie CLI](https://junie.jetbrains.com/docs/guidelines-and-memory.html) | `.junie/AGENTS.md`, else `AGENTS.md` at the root, with `.junie/rules/*.md` | `~/.junie/AGENTS.md` | Project beats global; `.junie/AGENTS.md` is checked before the root file |
| [Aider](https://aider.chat/docs/usage/conventions.html) | Nothing by default: any file you load with `--read` (the docs use `CONVENTIONS.md`) | Not covered on the linked page | Not covered on the linked page |

The [AGENTS.md site](https://agents.md/) lists more tools that read the format, including Amp, Devin, Factory, goose and Jules. Roo Code, which read `.roo/rules/` and AGENTS.md, shut down on 15 May 2026.

## Six things that trip teams up

1. **Same name, different rules.** Codex reads `AGENTS.override.md` first; Claude Code ignores it. Cline reads `~/.agents/AGENTS.md`; Claude Code ignores anything under `.agents/`.
2. **A personal file can switch off the shared one.** In Claude Code, adding your own `CLAUDE.local.md` stops AGENTS.md from loading, unless you change the Project instructions setting.
3. **Opposite tie-breaks.** With both files present, Claude Code reads CLAUDE.md and opencode reads AGENTS.md.
4. **A stale file can hide a fresh one.** Zed uses only the first file it finds, and `.cursorrules` comes before `AGENTS.md` in its list.
5. **Extensions matter.** Cursor ignores plain `.md` files in `.cursor/rules`; they must be `.mdc`.
6. **An old file can win.** Warp uses WARP.md over AGENTS.md in the same folder, and Junie checks `.junie/AGENTS.md`, which it offers to create, before your shared AGENTS.md.

Even the VS Code docs warn about it: when teams need separate files, "keep shared requirements consistent and avoid contradictory copies".

## What to do

Put shared rules in one AGENTS.md at the repo root, keep each tool's own file short and pointing to it, and delete stale files that shadow it. That's easy in one repo. Keeping one file right across 30 repos, five tools and a dozen people is the problem we're building [Tape](https://tapeit.dev/) for; it's in early access. [Why these files drift](https://tapeit.dev/blog/agent-instruction-files-drift) covers the workarounds teams use today.

## FAQ

**Which file should I use if my team uses several agents?** AGENTS.md at the repo root. Every agent above except Gemini CLI and Aider reads it without extra setup, and Claude Code reads it when there's no CLAUDE.md.

**Does Claude Code read AGENTS.md?** Yes, from v2.1.277, when your folder and the folders above it have no CLAUDE.md or CLAUDE.local.md. Otherwise, or on older versions, import it: put `@AGENTS.md` at the top of CLAUDE.md.

**Does Gemini CLI read AGENTS.md?** Not by default. Add AGENTS.md to `context.fileName` in Gemini CLI's `settings.json`.

**What is AGENTS.override.md?** A Codex file that takes the place of AGENTS.md in the same folder. Other agents don't read it.

Sources: each agent's name links to the vendor page used, read on 24 October 2026.
