Blog

Come disattivare la memoria automatica di Claude Code in un progetto

Markdown

La memoria automatica di Claude Code in un singolo progetto si disattiva con la riga autoMemoryEnabled: false in .claude/settings.json. In che modo è meglio di /memory e come si ripuliscono le note?

Leggi l’articolo completo

Per disattivare la memoria automatica di Claude Code per un solo progetto, aggiungi "autoMemoryEnabled": false al file .claude/settings.json di quel progetto. L'interruttore nel comando /memory non è adatto a questo scopo: scrive l'impostazione nel file globale e disattiva la memoria per tutti i progetti sul tuo computer.

Un agente può riempirsi rapidamente di cose di cui non ha bisogno. Nel caso descritto qui, Hermes ha trascorso 2 ore a riflettere su un'attività. Alla domanda «Quanti token hai usato?» ha risposto: «La mia stima approssimativa è di 100 milioni». Hai risolto l'attività? «No, l'ho analizzata.» Ha continuato a passare in rassegna tutti i file, uno dopo l'altro, e a confondersi.

Ecco perché dovresti mettere nella memoria di un agente solo le informazioni più preziose. E, secondo la valutazione presentata qui, la memoria automatica di Claude Code è piuttosto debole: molto ridotta e fortemente compressa. Se vuoi che Claude lavori solo secondo le tue regole, basta 1 riga nelle impostazioni del progetto.

Vediamo in cosa differisce la memoria automatica da CLAUDE.md, come disattivarla e cosa fare con le vecchie note. Cominciamo.

Documentazione di riferimento di Ailoot: ailoot.ai/docs/.

Punto chiave

Apri il file .claude/settings.json del progetto e aggiungi "autoMemoryEnabled": false. Se altre persone lavorano al progetto e vuoi disattivare la memoria solo per te, inserisci la stessa chiave in .claude/settings.local.json. La chiave si applica solo a questo progetto; negli altri la memoria continuerà a funzionare. L'interruttore in /memory scrive la chiave in ~/.claude/settings.json e disattiva la memoria ovunque. Le vecchie note restano su disco quando la memoria è disattivata. Puoi aprirle tramite /memory e ripulirle manualmente.

In cosa differisce la memoria automatica da CLAUDE.md?

CLAUDE.md è il file principale delle istruzioni e lo scrivi tu. In ogni nuova chat, Claude si chiede in sostanza: «Che cosa c'è qui? Chi sono? Che cosa devo fare?». Quando tutto è specificato in CLAUDE.md, dice: «Giusto, sono l'esperto. Capito».

Claude scrive da sé la memoria automatica. Gli dici: «Ricorda che dovresti sempre rispondere nella lingua che preferisco» oppure «Non inserire valori fissi nel codice; recuperali sempre dal database», e lui scrive un file nella cartella della memoria, qualcosa come «non farlo più». Nelle sessioni successive se ne ricorda.

Certo, non sempre. Gli agenti dimenticano ancora le cose e devi tenerli d'occhio: «Ehi, amico, te ne sei dimenticato di nuovo. Ne abbiamo già parlato». Risponde: «Ah, sì, mi ricordo; l'ho trovato qui nel file». Ecco perché in genere inseriamo tutto ciò che è importante in CLAUDE.md invece di affidarci alla memoria.

C'è una spiegazione dettagliata delle regole da inserire in CLAUDE.md in un articolo a parte, e di come la Memoria nelle chat di Claude differisce da CLAUDE.md in un altro.

Se costruisci i tuoi progetti con agenti AI, tieni a portata di mano la documentazione degli strumenti che usi.

Cosa scrive Claude da sé

Claude Code salva 4 tipi di note:

  • user — il tuo ruolo, la tua esperienza e il tuo modo di lavorare preferito;
  • feedback — le tue correzioni e gli approcci che hai confermato;
  • project — il lavoro in corso, le scadenze e le decisioni che non sono visibili nel codice;
  • reference — dove trovare informazioni esterne al progetto, per esempio in un sistema di tracciamento delle attività.

Tutto questo si trova in ~/.claude/projects/<project>/memory/. Il file principale è MEMORY.md, un indice con 1 riga per nota. All'inizio di ogni sessione, Claude ne legge le prime 200 righe o 25 KB e apre gli altri file quando ne ha bisogno. La memoria esiste solo sul tuo computer: non viene trasferita su un altro dispositivo né nel cloud.

Nell'esempio descritto qui, contiene il nome e il ruolo dell'utente, oltre a una regola contro l'inserimento di valori dinamici fissi nel codice: solo 5–7 righe in tutto. Sono regole per l'agente stesso: indicano come dovrebbe lavorare.

Puoi conservare le conoscenze sul progetto in un secondo cervello: cartelle di file che l'agente legge tramite link. Per questo approccio è utile definire una skill «secondo cervello» e tenere accanto ai file del progetto un PDF con i comandi di installazione di Hermes e una tabella «quale modello usare per quale attività».

Come disattivare la memoria automatica per un progetto

  1. Aggiungi la riga alle impostazioni del progetto

    La cartella principale del progetto contiene una cartella nascosta .claude con al suo interno un file settings.json. Il modo più semplice è chiedere direttamente a Claude Code: «Aggiungi "autoMemoryEnabled": false al file .claude/settings.json di questo progetto e lascia inalterate le altre impostazioni». Se lo apri manualmente e il file non esiste, crealo con questo contenuto:

    {
      "autoMemoryEnabled": false
    }
    

    Se il file contiene già delle impostazioni, aggiungi la chiave accanto alle altre e lascia tutto il resto invariato. Quando autoMemoryEnabled è false, Claude non legge la cartella della memoria né vi scrive alcunché.

  2. Scegli a chi si applica l'impostazione

    .claude/settings.json è il file di progetto condiviso e si applica a tutte le persone che lavorano al progetto. Se vuoi disattivare la memoria solo per te, inserisci la stessa chiave in .claude/settings.local.json: è il tuo file personale delle impostazioni per questo progetto.

    Le impostazioni del progetto hanno la precedenza su quelle globali. Anche se la memoria è attivata in ~/.claude/settings.json, per questo progetto prevale false.

  3. Riavvia Claude Code

    Chiudi la sessione e avvia di nuovo claude nella cartella del progetto. Digita /status: il file del progetto dovrebbe comparire nella riga Setting sources. Se compare, Claude lo ha letto. La memoria resterà attiva nel progetto vicino.

Ci sono altri 2 metodi, ma hanno scopi diversi:

  • La variabile d'ambiente CLAUDE_CODE_DISABLE_AUTO_MEMORY=1. Eseguendo CLAUDE_CODE_DISABLE_AUTO_MEMORY=1 claude disattivi la memoria solo per quell'esecuzione e prevale sulla chiave nei file delle impostazioni. Però devi digitarla ogni volta.
  • L'interruttore in /memory. Scrive autoMemoryEnabled in ~/.claude/settings.json, il file globale per tutti i progetti sul computer. Usalo in un progetto e disattiverai la memoria ovunque.

Un'altra cosa: in una sessione in background, l'interruttore può solo disattivare la memoria, non riattivarla. Per abilitarla, usa una sessione normale avviata da te eseguendo claude nel terminale.

Avvertenza

Disattivare la memoria non elimina nulla di ciò che Claude ha già scritto. La cartella memory resta su disco finché non la ripulisci tu.

Cosa fare con le vecchie note

Il comando /memory elenca i file della memoria e ti permette di aprirli. Sono normali file di testo: puoi modificarli o eliminarli.

Non eliminarli alla cieca: prima guarda che cosa contengono. Nel caso descritto qui, durante la ripulitura della cartella delle regole l'agente aveva registrato informazioni superflue sull'utente come parte della propria auto-riflessione. Le regole disordinate sono dannose tanto quanto un file CLAUDE.md principale pieno di regole obsolete: l'agente continua a usarle, ha allucinazioni e ti fornisce un contesto peggiore.

Puoi chiedere all'agente di fare la ripulitura. Una volta alla settimana, puoi assegnargli un'attività come questa per la cartella aziendale; funziona anche per la cartella della memoria:

Il tuo compito è trovare tutto ciò che non è più pertinente o è obsoleto e dimostrare che è davvero obsoleto. Non devi ancora eliminarlo: trovalo e presentamelo.

Ti presenta un elenco con le prove, poi decidi tu che cosa eliminare. Sposta in CLAUDE.md solo le informazioni più preziose contenute nelle note. In un articolo a parte trovi una spiegazione su come tenere brevi le istruzioni affinché Claude le segua. E l'articolo sul secondo cervello spiega come organizzare nel complesso la memoria del progetto, con cartelle e regole.

Hai lasciato attiva la memoria automatica o l'hai disattivata? Controlla che cosa Claude è riuscito a ricordare di te. Puoi continuare a esplorare Ailoot su ailoot.ai.

Fonti

Maggiori dettagli

Domande frequenti

Quale file disattiva la memoria soltanto per me in un progetto?

Inserisci "autoMemoryEnabled": false nel file .claude/settings.local.json del progetto. Per una configurazione condivisa usa .claude/settings.json. L’interruttore /memory cambia l’impostazione globale e quindi non è adatto se gli altri progetti devono conservare la memoria attiva.

Disattivare la memoria automatica cancella le vecchie note?

No. La cartella della memoria resta sul disco. Esamina i file prima di eliminare qualcosa e, se necessario, conserva altrove le decisioni utili. Dopo aver cambiato le impostazioni del progetto, riavvia Claude Code e controlla in /status l’origine delle impostazioni caricate.

Tutti gli articoli