claude· 5 min di lettura

La memoria di Claude Code: cosa ricorda davvero e cosa no

Di Marco Masut · aggiornato il

La memoria di Claude Code non è soltanto il file CLAUDE.md che scrivi tu. La memoria automatica è l'insieme di note che Claude scrive da solo mentre lavora, salvate sul tuo computer fuori dal repository, ed è attiva di default. Il changelog ufficiale di Claude Code registra alla versione 2.1.228, dell'11 agosto 2026, una correzione che riguarda proprio quel materiale: la pulizia di sessione cancellava contenuti dentro la cartella di memoria di un progetto.

È il tipo di bug che si nota tardi, perché quelle note nessuno le ha scritte a mano e nessun sistema di versionamento le sta guardando. Il segnale che qualcosa è sparito non è un errore, è Claude che smette di sapere una cosa che sapeva la settimana prima.

Dove finisce la memoria di Claude Code

Ogni progetto ha la propria cartella in ~/.claude/projects/<project>/memory/, secondo la documentazione ufficiale di Claude Code. La parte <project> deriva dal repository git, quindi tutti i worktree e le sottocartelle dello stesso repository condividono una sola cartella di memoria. Dentro c'è MEMORY.md, che fa da indice, e accanto i file per argomento che Claude crea quando ha bisogno di dividere il materiale, con nomi come debugging.md o api-conventions.md.

All'avvio di ogni conversazione viene caricato solo l'indice, e nemmeno tutto: le prime 200 righe di MEMORY.md oppure i primi 25KB, a seconda di quale limite arriva prima. I file per argomento non entrano in sessione all'avvio, Claude li apre con i normali strumenti di lettura quando gli servono. Se l'indice supera la soglia la scrittura riesce lo stesso, ma Claude Code restituisce un errore che chiede di riscriverlo, perché tutto quello che sta oltre verrebbe buttato via al caricamento successivo.

La riga della documentazione che cambia davvero il modo di ragionare è un'altra: la memoria automatica è locale alla macchina, e i file non vengono condivisi fra macchine diverse né con gli ambienti cloud. Nessuna sincronizzazione, nessun backup, nessuna copia dall'altra parte. Quello che c'è dentro esiste in un posto solo, ed è un posto che non passa da git.

Cosa corregge la versione 2.1.228

Il changelog ufficiale di Claude Code, alla voce 2.1.228 dell'11 agosto 2026, corregge la pulizia di sessione che cancellava contenuti dentro la cartella di memoria di un progetto. Nella stessa versione c'è una seconda correzione della stessa famiglia: la pulizia in background della cache dei plugin eliminava la cache di un plugin quando la sua unica versione era un checkout di sviluppo collegato via symlink. Due routine di manutenzione che toccavano qualcosa che doveva restare.

Vale la pena guardarle insieme, perché descrivono una categoria precisa di difetto. Non sono crash e non producono un messaggio: sono cancellazioni silenziose di stato che sta fuori dal repository, e chi le subisce se ne accorge dal comportamento, non dai log. È la stessa dinamica dei bug che colpiscono le sessioni non presidiate, di cui ho scritto parlando di come far girare Claude Code in automatico: il difetto c'è, ma non arriva a nessuno.

Cosa tenere nella memoria automatica e cosa nel repository

La posizione che ho preso su questo è netta: la memoria automatica di Claude Code è una comodità, non una fonte di verità. Tutto quello che deve sopravvivere a un cambio di macchina, a un collega nuovo o a una cartella cancellata va scritto nel repository, dove è versionato e leggibile da chiunque. Alla memoria automatica resta il suo lavoro utile, che è ricordare le cose piccole che nessuno ha voglia di scrivere: il comando esatto per far girare i test, la trappola scoperta debuggando alle undici di sera, la preferenza corretta due volte di fila.

Le routine che scrivono su questo blog sono il caso limite che rende evidente la differenza. Girano come sessioni cloud schedulate, documentate in automazione-blog/cloud-agent/, e ogni mattina partono da un checkout appena clonato: per loro la memoria automatica non esiste, perché la documentazione dice esplicitamente che quei file non vengono condivisi con gli ambienti cloud. Tutto quello che devono sapere sta committato nel repository, il CLAUDE.md in radice e le regole di scrittura in .claude/skills/articolo/. Non è stata una scelta di eleganza, è l'unica che funziona quando la macchina cambia ogni giorno.

Quattro cose concrete da fare, in ordine di quanto costano.

  1. Guarda cosa c'è dentro. Il comando /memory elenca i file di memoria e permette di aprire la cartella della memoria automatica, mentre /context mostra sotto la voce Memory files quali sono stati caricati davvero nella sessione in corso. Sono file markdown normali: si leggono, si correggono e si cancellano a mano.
  2. Se un progetto contiene roba che non deve finire in note fuori dal repository, spegnila lì. Basta "autoMemoryEnabled": false nelle impostazioni di quel progetto, oppure CLAUDE_CODE_DISABLE_AUTO_MEMORY=1 come variabile d'ambiente per disattivarla ovunque sulla macchina.
  3. Se preferisci tenere la memoria in una cartella tua, magari dentro un percorso che salvi già, imposta autoMemoryDirectory nel settings.json. Il valore deve essere un percorso assoluto o iniziare con ~/, e quando lo metti nelle impostazioni di un progetto viene onorato solo dopo aver accettato il dialogo di fiducia per quella cartella.
  4. Se ci tieni a quelle note, aggiorna. La 2.1.228 è la versione che chiude la cancellazione durante la pulizia di sessione, e il campo modified che marca la data di scrittura dentro i file di memoria richiede almeno la 2.1.214.

La stessa domanda si sposta di peso sugli agenti che costruite voi, dove però la memoria non ve la gestisce nessuno e va progettata: ne ho scritto guardando cosa mettere nella memoria di un agente AI e dove tenerla, perché le regole di igiene sono identiche e i posti dove finiscono i dati no.

Il punto che porto via da questa versione non è il bug. È che la memoria automatica ha spostato un pezzo di configurazione fuori dal progetto senza che nessuno lo decidesse, e le regole di igiene che valgono per il file CLAUDE.md e le skill non ci sono ancora arrivate. Chi sta mettendo un agente AI dentro un processo di lavoro farebbe bene a chiedersi la stessa cosa che vale per qualsiasi sistema: dove vive lo stato, chi lo può cancellare e cosa succede il giorno in cui sparisce. Le note di rilascio complete stanno sul changelog ufficiale di Claude Code, e il funzionamento della memoria è documentato nella pagina ufficiale sulla memoria.

Domande frequenti

Dove salva la memoria automatica Claude Code?

La documentazione ufficiale di Claude Code indica il percorso `~/.claude/projects/<project>/memory/`, una cartella per progetto. La parte `<project>` deriva dal repository git, quindi tutti i worktree e le sottocartelle dello stesso repository condividono una sola cartella di memoria. Dentro c'è un file `MEMORY.md` che fa da indice e i file per argomento che Claude crea man mano.

Come si disattiva la memoria automatica di Claude Code?

Si disattiva in tre modi, tutti documentati da Anthropic. Dentro una sessione si apre `/memory` e si usa l'interruttore, che scrive `autoMemoryEnabled` nelle impostazioni utente in `~/.claude/settings.json`. Per un singolo progetto si mette `"autoMemoryEnabled": false` nelle impostazioni di quel progetto. Per l'intera macchina si imposta la variabile d'ambiente `CLAUDE_CODE_DISABLE_AUTO_MEMORY=1`.

Che differenza c'è fra CLAUDE.md e la memoria automatica?

Il file CLAUDE.md lo scrive la persona e contiene istruzioni e regole, la memoria automatica la scrive Claude e contiene cose che ha imparato lavorando. La documentazione di Claude Code aggiunge una differenza pratica che pesa di più: il CLAUDE.md sta nel repository e viene caricato per intero a ogni sessione, mentre la memoria automatica vive sul singolo computer e all'avvio ne entrano solo le prime 200 righe dell'indice.

La memoria automatica di Claude Code si sincronizza fra più computer?

No. La documentazione ufficiale dice che la memoria automatica è locale alla macchina e che i file non vengono condivisi fra macchine diverse né con gli ambienti cloud. Tutti i worktree dello stesso repository sulla stessa macchina condividono la cartella, ma un secondo computer o una sessione cloud partono senza niente.

Perché MEMORY.md dà errore quando diventa lungo?

Perché all'avvio di ogni conversazione Claude Code carica solo le prime 200 righe di `MEMORY.md`, o i primi 25KB se arrivano prima. Quando il file supera quel limite la scrittura riesce comunque, ma Claude Code restituisce un errore che chiede di riscrivere l'indice, dato che tutto quello che sta oltre la soglia verrebbe scartato al caricamento successivo.

Continua a leggere

claude

Claude Code e GitLab: cosa funziona davvero e dove si ferma

Claude Code e GitLab: le merge request entrano nel flag --worktree, i marketplace clonano da gitlab.com. Cosa coprono la 2.1.232 e la 2.1.233.
claude

Claude Code in un container: cosa non vede dell'ambiente in cui gira

Claude Code in un container leggeva i core della macchina ospite invece del limite del container. Cosa corregge la 2.1.229 e cosa controllare.
claude

Dove finiscono i dati dell'intelligenza artificiale, e quanto costa deciderlo

Dove finiscono i dati dell'intelligenza artificiale dipende da dove gira l'inferenza. Adesso quel vincolo ha un prezzo scritto: il dieci per cento in più.

Risorse pratiche su questi temi

Articolo

Le nuove regole del context engineering per i modelli Claude 5

L'articolo di Anthropic sul context engineering per i modelli Claude 5: cosa togliere dal prompt di sistema, dal CLAUDE.md e dalle skill.
Video

Estrarre il testo da un PDF e farlo leggere davvero all'AI

Estrarre il testo da un PDF in modo che l'AI lo legga davvero: come si fa gratis e in locale con AnyDoc, e cosa cambia con le scansioni.