Dove Claude Code tiene il suo scratchpad, e perché sparisce

Ogni sessione di Claude Code annuncia una cartella scratchpad e poi non la nomina più. Ecco il percorso esatto su macOS, Linux e Windows, cosa c'è accanto, perché un riavvio o una pulizia dei file temporanei la cancella, cosa puoi configurare e cosa no, e l'unica regola che abbiamo dato ai sette agenti che ci scrivono ogni notte.

Ogni sessione di Claude Code inizia con una riga che probabilmente scorri senza leggere. La nostra, stasera, dice così:

Scratchpad directory: /private/tmp/claude-501/-Users-jbchauvin-Projets-AgentsRoom/5a506305-…/scratchpad

Poi la CLI non la nomina più. Nessun comando la elenca, nessun pannello la apre, e il giorno in cui vai a cercare il CSV che l'agente diceva di averci scritto, la cartella potrebbe essere già sparita.

Facciamo girare sette agenti pianificati su un Mac mini ogni notte, e ognuno di loro scrive in quella cartella. Così siamo andati a vedere cos'è, dove vive su ogni sistema, cosa la cancella, e cosa diciamo agli agenti di farne. Tutto quello che segue è stato verificato su Claude Code 2.1.278 il 19 settembre 2026, e sulle issue GitHub aperte da chi ci ha perso del lavoro.

Cosa Claude Code dice all'agente

La riga fa parte del prompt di sistema. L'istruzione che la segue, nella versione attuale, dice all'agente di usare sempre quella cartella per i file temporanei, cioè risultati intermedi, script e output che non appartengono al progetto, invece di /tmp o di qualsiasi altra cartella temporanea del sistema; che è specifica della sessione e isolata dal progetto; che in genere può essere usata senza richieste di permesso; e che /tmp va usata solo se lo chiedi esplicitamente.

Quest'ultima parte è quella che riguarda te. I file scritti dentro lo scratchpad non fanno scattare la finestra di permesso di scrittura, ed è per questo che l'agente ci mette i suoi script di supporto e le sue esportazioni invece di chiedertelo ogni volta. È anche per questo che nessuno ti chiede mai, e nessuno ti dice mai, dove sono finiti.

Se vuoi il percorso in una sessione in corso, chiedilo all'agente. « Stampa la tua cartella scratchpad » riceve risposta dal prompt di sistema, senza eseguire nulla.

Il percorso, sistema per sistema

La cartella sta sotto la cartella temporanea del sistema operativo, e il suo nome codifica chi sei, in quale progetto eri e quale sessione era.

Su macOS e Linux:

/tmp/claude-<uid>/<percorso del progetto, slash sostituiti da trattini>/<id di sessione>/scratchpad

Su un Mac, /tmp è un link a /private/tmp, quindi la stessa cartella viene mostrata come /private/tmp/claude-501/…. Il numero è il tuo id utente, ciò che stampa id -u: 501 per il primo account di un Mac, 1000 sulla maggior parte delle distribuzioni Linux, 0 per root. La segnalazione Linux che citiamo più avanti mostra /tmp/claude-0/, perché la pipeline girava come root in un container. Le issue aperte a inizio 2026 mostrano /tmp/claude/<slug del progetto>/… senza alcun uid, quindi il suffisso è stato aggiunto strada facendo. Se sei su una build più vecchia, toglilo.

Su Windows, come segnalato su Windows 11 a luglio 2026:

%TEMP%\claude\<slug del progetto>\<id di sessione>\scratchpad

che di solito si espande in C:\Users\<tu>\AppData\Local\Temp\claude\…. Il percorso deriva dalla variabile TEMP, quindi se punti TEMP altrove, lo scratchpad la segue.

Lo slug del progetto è la tua directory di lavoro con ogni slash trasformato in trattino. Il nostro repository vive in /Users/jbchauvin/Projets/AgentsRoom, quindi lo slug è -Users-jbchauvin-Projets-AgentsRoom. Una cartella per progetto, poi una cartella per sessione al suo interno.

Per elencare tutte le cartelle di sessione che ti restano per l'utente corrente su un Mac o una macchina Linux:

ls /tmp/claude-$(id -u)/

Cosa c'è accanto

La cartella di sessione non è solo lo scratchpad. Sulla macchina che fa girare i nostri agenti notturni, sette delle nove cartelle di sessione della giornata contengono due voci: scratchpad e tasks. La cartella tasks è dove finisce l'output dei task in background, i comandi che l'agente lancia in modo distaccato e rilegge più tardi.

C'è un terzo posto che dovresti conoscere, e non sta affatto sotto la cartella temporanea: ~/.claude/projects/<slug del progetto>/<id di sessione>/tool-results/. Quando uno strumento restituisce più di quanto il contesto possa contenere, Claude Code ci salva l'output completo e dà il percorso all'agente. Stasera, un'esportazione di Search Console da 68 KB è finita lì invece che nello scratchpad. Quella posizione è permanente, accanto alla trascrizione della sessione. Quindi la divisione è: trascrizioni e output degli strumenti troppo grandi sotto ~/.claude, che resta; script, file intermedi e output dei task in background sotto la cartella temporanea, che non resta.

Perché sparisce

Perché cartella temporanea significa « cancellabile » per ogni sistema operativo, e niente in Claude Code lo contesta.

Su Linux, systemd-tmpfiles applica quello che dice /usr/lib/tmpfiles.d/tmp.conf. Un utente ha perso l'intero output di una pipeline di generazione dati da 24 ore, verdetti di revisione, script e un virtualenv Python compresi, quando l'host si è riavviato: la regola su quel container Debian era D /tmp 1777 root root 30d, che ricrea /tmp vuota a ogni avvio. Era Claude Code 2.1.260, e il prompt di sistema non aveva detto nulla sulla volatilità. Controlla la tua regola con cat /usr/lib/tmpfiles.d/tmp.conf: una riga D svuota all'avvio, un'età come 10d elimina i file vecchi a intervalli.

Su Windows, la cartella sta sotto %TEMP%, che Sensore memoria e Pulizia disco spazzano. A luglio 2026 qualcuno ha lanciato una pulizia del disco mentre due sessioni erano attive e ha perso i worktree git in cui entrambi gli agenti stavano lavorando, modifiche non committate comprese. Le modifiche sono state recuperate solo perché esistevano ancora nel contesto della conversazione.

Su macOS, /private/tmp viene svuotata al riavvio e i file vecchi vengono eliminati dal sistema. Sul nostro Mac mini stasera, /private/tmp/claude-501 contiene nove cartelle di sessione per questo progetto, 452 file e 25 MB, e niente di più vecchio della giornata. Quello che gli agenti delle notti precedenti ci hanno lasciato è sparito.

Niente di tutto questo è un bug nel senso che qualcosa abbia funzionato male. La cartella è esattamente dove la CLI dice che è, e il sistema operativo ha fatto esattamente quello che fa con le cartelle temporanee. Il problema è che il prompt la chiama scratchpad, e uno scratchpad suona come qualcosa che si conserva.

Cosa puoi configurare, e cosa no

Alla 2.1.278 non esiste un'impostazione per la posizione dello scratchpad. La cartella segue la cartella temporanea, quindi TEMP su Windows e TMPDIR su Unix la spostano. CLAUDE_CODE_TMPDIR, che esiste per altri file temporanei, è stata segnalata come non in grado di spostare lo scratchpad, e quella richiesta è stata chiusa come non pianificata. Stessa sorte per le richieste di una variabile CLAUDE_CODE_SCRATCHPAD_DIR e di un default sotto ~/.claude/scratchpad/. Una cartella scratchpad visibile nell'app desktop è una richiesta di funzionalità ancora aperta.

Due cose funzionano oggi. Una sessione ripresa (claude --resume) mantiene il suo id di sessione, quindi cerca la stessa cartella, e la trova se niente l'ha cancellata nel frattempo. E puoi chiedere all'agente, in parole semplici, di scrivere un certo file in un posto permanente. Questa è tutta la nostra soluzione.

La regola che abbiamo dato ai nostri agenti notturni

Sette agenti partono alle 20:00 sulla stessa macchina: SEO, prodotto, social, un fixer, un documentalista, un report CEO e un rapporteur che invia via email il riepilogo della notte alle 22:00. Ognuno produce molto materiale intermedio: esportazioni di Search Console, JSON filtrati, script che contano stringhe in venti locale. Tutto questo va nello scratchpad, di proposito, perché niente di tutto ciò appartiene al repository e niente dovrebbe far scattare una richiesta di permesso alle due di notte.

La regola in ogni prompt sta in una frase: lo scratchpad tiene ciò che serve al prossimo comando, il repository tiene ciò che serve alla prossima notte. Tutto ciò che un agente vorrà rileggere domani, il suo report, il suo marcatore di run, il file che stava modificando, viene scritto sotto reports/nuit/<data>/ e committato appena è finito, non alla fine del run. Un agente interrotto a metà task lascia un report parziale in git e 25 MB di file di lavoro che nessuno rimpiangerà.

Lo specchio di quella regola è ciò che l'utente Linux ha imparato a sue spese: mai lasciare che un lavoro lungo accumuli la sua unica copia nello scratchpad. Se una pipeline gira per un giorno, i suoi output vanno in un percorso che hai scelto tu, e lo scratchpad tiene gli script di supporto.

Aprire la cartella senza uscire dall'app

Se fai girare Claude Code dentro AgentsRoom, File > Open File (Cmd/Ctrl+O) apre qualsiasi file di quella cartella nell'anteprima, contrassegnato « Fuori dal progetto » così non lo scambi per qualcosa di tracciato. È il modo più rapido che abbiamo trovato per leggere un'esportazione che l'agente ha appena prodotto, senza incollare un percorso /private/tmp in un terminale.

E per chiudere il cerchio sul nome: lo Scratchpad di AgentsRoom è un'altra cosa. È l'editor di prompt integrato nel composer dell'agente, dove un prompt lungo viene scritto e conservato come bozza per agente tra una sessione e l'altra. Stessa parola, scelta prima che Claude Code la usasse per una cartella. Uno è dove tu scrivi all'agente; l'altro è dove l'agente scrive per sé.

Domande frequenti

Dove si trova lo scratchpad di Claude Code su macOS e Linux?

Sotto la cartella temporanea del sistema: /tmp/claude-<il tuo uid>/<percorso del progetto, slash sostituiti da trattini>/<id di sessione>/scratchpad. Su macOS la stessa cartella compare come /private/tmp/claude-501/… perché /tmp è un link a /private/tmp. Il tuo uid è ciò che stampa id -u: 501 per il primo utente di un Mac, 1000 sulla maggior parte delle distribuzioni Linux, 0 per root. Le versioni più vecchie usavano /tmp/claude/ senza il suffisso uid.

Dove si trova lo scratchpad di Claude Code su Windows?

Sotto la cartella TEMP: %TEMP%\claude\<slug del progetto>\<id di sessione>\scratchpad, che di solito si espande in C:\Users\<tu>\AppData\Local\Temp\claude\…. Cambiare la variabile d'ambiente TEMP lo sposta, perché il percorso deriva da TEMP e non da un'impostazione di Claude Code.

Perché il mio scratchpad di Claude Code è sparito?

Perché vive sotto la cartella temporanea, e ogni sistema operativo considera la cartella temporanea cancellabile. Su Linux, systemd-tmpfiles applica la regola scritta in /usr/lib/tmpfiles.d/tmp.conf, spesso uno svuotamento all'avvio o dopo un certo numero di giorni. macOS svuota /private/tmp al riavvio ed elimina i file vecchi. Su Windows, Sensore memoria e Pulizia disco spazzano %TEMP%. Niente in Claude Code protegge la cartella da tutto questo.

Posso cambiare dove Claude Code mette il suo scratchpad?

Non con un'impostazione dedicata, in Claude Code 2.1.278. La cartella segue la cartella temporanea del sistema operativo, quindi spostare TEMP su Windows o TMPDIR su Unix la sposta. Le richieste di una variabile separata o di una posizione persistente sotto ~/.claude sono state chiuse come non pianificate. L'opzione affidabile è dire all'agente di scrivere nel progetto tutto ciò che conta.

Lo scratchpad è la stessa cosa di ~/.claude/projects?

No. ~/.claude/projects/<slug del progetto>/ contiene le trascrizioni di sessione e, per ogni sessione, una cartella tool-results dove vengono salvati gli output degli strumenti troppo grandi. Quella posizione è permanente. Lo scratchpad sotto la cartella temporanea è lo spazio di lavoro che l'agente usa per script e file intermedi, e quello è volatile.

È lo Scratchpad di AgentsRoom?

Stessa parola, altra cosa. Lo Scratchpad di AgentsRoom è l'editor di prompt integrato nel composer dell'agente, dove scrivi e conservi una bozza per agente. Lo scratchpad di Claude Code è una cartella che la CLI crea per ogni sessione. AgentsRoom può aprire qualsiasi file di quella cartella con File > Open File, contrassegnato « Fuori dal progetto ».

Scarica AgentsRoom

Esegui tutti i tuoi agenti AI, su tutti i tuoi progetti, da una sola finestra.

GratisScarica AgentsRoom

App companion: monitora i tuoi agenti in movimento

Usa Claude, Codex, Antigravity CLI o un altro provider IA.

Installa l'estensione
Chrome Web Store

Invia bug e richieste direttamente nel tuo backlog pubblico.

Multi-progetto
Multi-provider
Multi-agente
Stato in tempo reale
Diff e commit
App mobile
Anteprima live
Team di agenti
Test browser
Dev guidata da backlog
Libreria di prompt
Libreria di skill
Vedi tutte le funzionalità

Continua a leggere