CLAUDE.md vs AGENTS.md:quale agente legge quale file.

Sono entrambi file Markdown di istruzioni per un agente di coding, e si sovrappongono tanto che si finisce per tenerli entrambi per caso. Ecco a cosa serve ciascuno, chi lo legge e come evitare di mantenere due copie.

macOS 14 o successivo. Leggere è gratis; modificare e revisionare si pagano una volta sola.

Risposta rapida

CLAUDE.md è il file di istruzioni che legge Claude Code. AGENTS.md è un formato aperto che leggono Codex, Cursor e molti altri agenti. Se usi Claude Code insieme ad altri agenti, tieni le regole condivise in AGENTS.md e metti @AGENTS.md in cima a CLAUDE.md, con le istruzioni solo per Claude sotto.

@AGENTS.md

## Claude Code

Use plan mode for changes under `src/billing/`.

·

Cos'è ciascun file

Sono entrambi Markdown semplice che un agente carica nel suo contesto all'inizio di una sessione. Ci scrivi comandi di build e di test, stile del codice, struttura del progetto e regole come "non modificare mai i file generati". Sono istruzioni, non impostazioni imposte: l'agente le tratta come indicazioni.

  • CLAUDE.md è specifico di Claude Code. Può stare nella radice del progetto (./CLAUDE.md o ./.claude/CLAUDE.md), in ~/.claude/CLAUDE.md per tutti i tuoi progetti e nelle sottocartelle. Un CLAUDE.local.md contiene note private per un progetto.
  • AGENTS.md è un formato aperto descritto su agents.md, un README per gli agenti. Lo leggono Codex, Cursor, l'agente di coding di GitHub Copilot, Gemini CLI, Zed e molti altri. In un monorepo, un AGENTS.md in una sottocartella vale per quella parte, e vince il file più vicino.

Il contenuto è dello stesso tipo. Cambia lo strumento che raccoglie il file.

Cosa fa Claude Code con AGENTS.md

La documentazione di Claude Code descrive tre casi, per la versione 2.1.277 o successive:

  • Solo un AGENTS.md nel progetto, nessun CLAUDE.md: Claude Code legge l'AGENTS.md.
  • Entrambi i file nel progetto: Claude Code legge solo i file CLAUDE.md.
  • Un CLAUDE.md che importa AGENTS.md con @AGENTS.md: Claude legge il CLAUDE.md con AGENTS.md incluso.

Il secondo caso è quello che sorprende. Se aggiungi un CLAUDE.md, anche minuscolo, a un repository che ha un AGENTS.md, Claude smette di leggere l'AGENTS.md a meno che il CLAUDE.md non lo importi. Lo stesso vale per un CLAUDE.local.md. Le versioni più vecchie di Claude Code leggevano solo CLAUDE.md, ed è per questo che l'importazione resta la scelta sicura. La documentazione descrive anche un'impostazione Project instructions in /config per far leggere a Claude entrambi i file insieme.

Mantenere un solo insieme di istruzioni

Scegli un file come fonte di verità. Sono documentati due modi:

  1. Importare AGENTS.md da CLAUDE.md

    Crea un CLAUDE.md accanto ad AGENTS.md la cui prima riga sia @AGENTS.md, poi aggiungi sotto le istruzioni solo per Claude. Le importazioni usano la sintassi @percorso, i percorsi relativi si risolvono a partire dal file che li contiene e i file importati possono importarne altri fino a quattro livelli di profondità.

  2. Collegamento simbolico da CLAUDE.md a AGENTS.md

    Esegui ln -s AGENTS.md CLAUDE.md se non hai nulla di specifico per Claude da aggiungere. La documentazione avverte che gli strumenti di modifica di Claude non scrivono attraverso un collegamento simbolico, e che su Windows un collegamento simbolico nel commit può essere estratto come file di testo di una riga, quindi l'importazione è la scelta più sicura per un repository condiviso.

Evita un terzo approccio: un CLAUDE.md che dice "leggi AGENTS.md" a parole. Claude vede il file solo se decide di aprirlo, mentre un'importazione lo carica ogni volta.

Un AGENTS.md condiviso

Metti in AGENTS.md ciò che serve a qualsiasi agente:

# AGENTS.md

## Commands
- Install: `npm ci`
- Test: `npm test`
- Lint: `npm run lint`

## Conventions
- TypeScript, strict mode. No default exports.
- Update the tests with every change.

## Do not
- Edit files under `generated/`.
- Commit without running the tests.

Mantienilo breve e specifico. La documentazione di Claude Code suggerisce di restare sotto circa 200 righe per CLAUDE.md, perché i file più lunghi costano contesto e vengono seguiti con meno affidabilità.

Errori comuni

  • Due file che si allontanano. Una copia viene aggiornata, l'altra no. Usa l'importazione.
  • Aggiungere un CLAUDE.md e perdere l'AGENTS.md. Vedi sopra: importalo.
  • Mettere segreti in uno dei due file. Vengono inseriti nel commit e caricati in ogni sessione.
  • Regole vaghe. "Scrivi codice pulito" non serve a nulla. "Esegui npm test prima di dire che hai finito" sì.
  • Regole contraddittorie tra il file di una cartella superiore e quello di una sottocartella.

Leggere e rivedere questi file

Sono entrambi normale Markdown, quindi DotMD apre CLAUDE.md e AGENTS.md come qualsiasi file .md, con un indice e la cronologia di ogni modifica, e mostra cosa ci ha cambiato un agente. La lettura è gratuita. Vedi anche Claude Code e Codex con DotMD.

Domande su CLAUDE.md e AGENTS.md

Che differenza c'è tra CLAUDE.md e AGENTS.md?

CLAUDE.md è il file di istruzioni per Claude Code. AGENTS.md è un formato aperto, neutrale rispetto agli strumenti, letto da Codex, Cursor e molti altri agenti. Il contenuto è simile; cambia chi lo legge.

Claude Code legge AGENTS.md?

Sì, nelle versioni recenti, ma solo quando nella tua directory di lavoro o sopra di essa non c'è un CLAUDE.md. Se hai entrambi, legge i file CLAUDE.md, quindi importa AGENTS.md da CLAUDE.md con @AGENTS.md.

Devo tenere sia CLAUDE.md sia AGENTS.md?

Se usi Claude Code con altri agenti, sì: tieni le istruzioni condivise in AGENTS.md e fai importare CLAUDE.md, aggiungendo tutto ciò che è specifico di Claude.

Dove va CLAUDE.md?

Nella radice del progetto o in .claude/ per un progetto, in ~/.claude/CLAUDE.md per tutti i tuoi progetti, e CLAUDE.local.md per le note private che non metti nel commit.

Altre domande