Waar Claude Code zijn scratchpad bewaart, en waarom die verdwijnt

Elke Claude Code-sessie kondigt een scratchpad-map aan en laat die daarna nooit meer zien. Hier is het exacte pad op macOS, Linux en Windows, wat ernaast staat, waarom een herstart of een opschoning van tijdelijke bestanden hem wist, wat je wel en niet kunt instellen, en de ene regel die we de zeven agents gaven die er elke nacht in schrijven.

Elke Claude Code-sessie begint met een regel waar je waarschijnlijk overheen leest. De onze, vanavond, ziet er zo uit:

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

Daarna noemt de CLI hem nooit meer. Geen commando somt hem op, geen paneel opent hem, en op de dag dat je de CSV gaat zoeken die de agent zei daar te hebben geschreven, is de map misschien al weg.

Wij draaien elke nacht zeven geplande agents op een Mac mini, en elk daarvan schrijft in die map. Dus zijn we gaan kijken wat het is, waar hij op elk systeem staat, wat hem verwijdert, en wat we de agents zeggen ermee te doen. Alles hieronder is gecontroleerd op Claude Code 2.1.278 op 19 september 2026, en op de GitHub-issues die mensen openden toen ze er werk in kwijtraakten.

Wat Claude Code tegen de agent zegt

De regel maakt deel uit van de systeemprompt. De instructie die erop volgt zegt, in de huidige versie, dat de agent die map altijd moet gebruiken voor tijdelijke bestanden, dus tussenresultaten, scripts en uitvoer die niet in het project thuishoren, in plaats van /tmp of een andere tijdelijke systeemmap; dat hij sessiespecifiek is en geïsoleerd van het project; dat hij doorgaans zonder toestemmingsvragen gebruikt kan worden; en dat /tmp alleen gebruikt hoort te worden als jij daar expliciet om vraagt.

Dat laatste deel is het nuttige voor jou. Bestanden die in de scratchpad worden geschreven, lokken de dialoog voor schrijftoestemming niet uit, en daarom zet de agent zijn hulpscripts en zijn exports daar neer in plaats van het je elke keer te vragen. Het is ook de reden dat je nooit gevraagd wordt, en nooit te horen krijgt, waar ze heen zijn gegaan.

Wil je het pad in een lopende sessie, vraag het dan aan de agent. “Print je scratchpad-map” wordt beantwoord vanuit de systeemprompt, zonder iets uit te voeren.

Het pad, systeem per systeem

De map staat onder de tijdelijke map van het besturingssysteem, en zijn naam codeert wie je bent, in welk project je zat, en welke sessie het was.

Op macOS en Linux:

/tmp/claude-<uid>/<projectpad met schuine strepen vervangen door streepjes>/<sessie-id>/scratchpad

Op een Mac is /tmp een link naar /private/tmp, dus dezelfde map wordt getoond als /private/tmp/claude-501/…. Het getal is je gebruikers-id, wat id -u print: 501 voor het eerste account op een Mac, 1000 op de meeste Linux-distributies, 0 voor root. Het Linux-rapport dat we hieronder aanhalen toont /tmp/claude-0/, omdat de pipeline als root draaide in een container. Issues die eerder in 2026 zijn geopend tonen /tmp/claude/<project-slug>/… zonder enige uid, dus het achtervoegsel is onderweg toegevoegd. Zit je op een oudere build, laat het dan weg.

Op Windows, zoals gemeld op Windows 11 in juli 2026:

%TEMP%\claude\<project-slug>\<sessie-id>\scratchpad

wat meestal uitkomt op C:\Users\<jij>\AppData\Local\Temp\claude\…. Het pad wordt afgeleid van de variabele TEMP, dus als je TEMP ergens anders heen laat wijzen, volgt de scratchpad.

De project-slug is je werkmap met elke schuine streep vervangen door een streepje. Onze repository staat op /Users/jbchauvin/Projets/AgentsRoom, dus de slug is -Users-jbchauvin-Projets-AgentsRoom. Eén map per project, en daarin één map per sessie.

Om elke sessiemap op te sommen die je nog hebt voor de huidige gebruiker op een Mac of Linux-machine:

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

Wat ernaast staat

De sessiemap is niet alleen de scratchpad. Op de machine die onze nachtelijke agents draait, bevatten zeven van de negen sessiemappen van de dag twee items: scratchpad en tasks. De map tasks is waar de uitvoer van achtergrondtaken belandt, de commando's die de agent losgekoppeld draait en later leest.

Er is een derde plek die je moet kennen, en die staat helemaal niet onder de tijdelijke map: ~/.claude/projects/<project-slug>/<sessie-id>/tool-results/. Wanneer een tool meer teruggeeft dan de context aankan, slaat Claude Code de volledige uitvoer daar op en geeft de agent het pad. Vanavond ging een Search Console-export van 68 KB daarheen in plaats van naar de scratchpad. Die locatie is blijvend, naast de sessietranscriptie. De verdeling is dus: transcripties en te grote tooluitvoer onder ~/.claude, wat blijft; scripts, tussenbestanden en uitvoer van achtergrondtaken onder de tijdelijke map, wat niet blijft.

Waarom hij verdwijnt

Omdat de tijdelijke map voor elk besturingssysteem “veilig om te verwijderen” betekent, en niets in Claude Code daartegenin gaat.

Op Linux past systemd-tmpfiles toe wat /usr/lib/tmpfiles.d/tmp.conf zegt. Eén melder verloor de volledige uitvoer van een datageneratie-pipeline van 24 uur, reviewoordelen, scripts en een Python-virtualenv inbegrepen, toen de host herstartte: de regel op die Debian-container was D /tmp 1777 root root 30d, die /tmp bij elke boot leeg opnieuw aanmaakt. Dat was Claude Code 2.1.260, en de systeemprompt had niets gezegd over vluchtigheid. Controleer je eigen regel met cat /usr/lib/tmpfiles.d/tmp.conf: een D-regel wist bij het opstarten, een leeftijd als 10d ruimt op met een timer.

Op Windows staat de map onder %TEMP%, die Opslaginzicht en Schijfopruiming leegvegen. In juli 2026 draaide iemand een schijfopruiming terwijl twee sessies live waren en verloor de git worktrees waarin beide agents werkten, niet-gecommitte wijzigingen inbegrepen. De wijzigingen konden alleen worden teruggehaald omdat ze nog in de context van het gesprek bestonden.

Op macOS wordt /private/tmp geleegd bij een herstart en worden oude bestanden opgeruimd door het systeem. Op onze Mac mini bevat /private/tmp/claude-501 vanavond negen sessiemappen voor dit project, 452 bestanden en 25 MB, en niets ouder dan de dag. Wat de agents van de vorige nachten daar achterlieten, is weg.

Niets hiervan is een bug in de zin dat er iets verkeerd deed. De map staat precies waar de CLI zegt dat hij staat, en het besturingssysteem deed precies wat het met tijdelijke mappen doet. Het gat is dat de prompt hem een scratchpad noemt en een scratchpad klinkt als iets dat je bewaart.

Wat je kunt instellen, en wat niet

In 2.1.278 is er geen instelling voor de locatie van de scratchpad. De map volgt de tijdelijke map, dus TEMP op Windows en TMPDIR op Unix verplaatsen hem. CLAUDE_CODE_TMPDIR, dat bestaat voor andere tijdelijke bestanden, verplaatst volgens meldingen de scratchpad niet, en dat verzoek is gesloten als niet gepland. Datzelfde geldt voor de verzoeken om een variabele CLAUDE_CODE_SCRATCHPAD_DIR en om een standaard onder ~/.claude/scratchpad/. Een zichtbare scratchpad-map in de desktop-app is een openstaand functieverzoek.

Twee dingen werken vandaag wel. Een hervatte sessie (claude --resume) behoudt haar sessie-id, dus zoekt ze dezelfde map, en vindt die als niets hem in de tussentijd heeft verwijderd. En je kunt de agent in gewone woorden vragen een bepaald bestand ergens blijvends te schrijven. Dat is onze hele oplossing.

De regel die we onze nachtelijke agents gaven

Zeven agents starten om 20:00 op dezelfde machine: SEO, product, social, een fixer, een documentalist, een CEO-rapport en een rapporteur die om 22:00 de samenvatting van de nacht mailt. Elk produceert een hoop tussenmateriaal: Search Console-exports, gefilterde JSON, scripts die strings tellen over twintig locales. Dat gaat allemaal naar de scratchpad, met opzet, omdat niets ervan in de repository thuishoort en niets ervan om twee uur 's nachts een toestemmingsvraag hoort uit te lokken.

De regel in elke prompt is één zin: de scratchpad bevat wat het volgende commando nodig heeft, de repository bevat wat de volgende nacht nodig heeft. Alles wat een agent morgen wil teruglezen, zijn rapport, zijn run-markering, het bestand dat hij aan het bewerken was, wordt geschreven onder reports/nuit/<datum>/ en gecommit zodra het klaar is, niet aan het einde van de run. Een agent die halverwege een taak wordt afgebroken, laat een gedeeltelijk rapport achter in git en 25 MB aan scratch-bestanden die niemand zal missen.

Het spiegelbeeld van die regel is degene die de Linux-melder op de harde manier leerde: laat een lange job nooit zijn enige kopie in de scratchpad opbouwen. Als een pipeline een dag draait, gaat de uitvoer naar een pad dat jij hebt gekozen, en houdt de scratchpad de hulpbestanden.

De map openen zonder de app te verlaten

Als je Claude Code binnen AgentsRoom draait, opent File > Open File (Cmd/Ctrl+O) elk bestand uit die map in de preview, gemarkeerd als “Buiten het project” zodat je het niet aanziet voor iets dat wordt bijgehouden. Het is de snelste manier die we hebben gevonden om een export te lezen die de agent net heeft gemaakt, zonder een /private/tmp-pad in een terminal te plakken.

En om de cirkel rond te maken wat de naam betreft: de AgentsRoom Scratchpad is iets anders. Het is de prompteditor ingebouwd in de agentcomposer, waar een lange prompt wordt geschreven en tussen sessies als concept per agent wordt bewaard. Zelfde woord, gekozen voordat Claude Code het voor een map gebruikte. De ene is waar jij aan de agent schrijft; de andere is waar de agent voor zichzelf schrijft.

Veelgestelde vragen

Waar staat de Claude Code scratchpad op macOS en Linux?

Onder de tijdelijke map van het systeem: /tmp/claude-<je uid>/<projectpad met schuine strepen vervangen door streepjes>/<sessie-id>/scratchpad. Op macOS verschijnt dezelfde map als /private/tmp/claude-501/… omdat /tmp een link is naar /private/tmp. Je uid is wat id -u print: 501 voor de eerste gebruiker op een Mac, 1000 op de meeste Linux-distributies, 0 voor root. Oudere versies gebruikten /tmp/claude/ zonder het uid-achtervoegsel.

Waar staat de Claude Code scratchpad op Windows?

Onder de TEMP-map: %TEMP%\claude\<project-slug>\<sessie-id>\scratchpad, wat meestal uitkomt op C:\Users\<jij>\AppData\Local\Temp\claude\…. De omgevingsvariabele TEMP wijzigen verplaatst hem, omdat het pad wordt afgeleid van TEMP en niet van een instelling van Claude Code.

Waarom is mijn Claude Code scratchpad verdwenen?

Omdat hij onder de tijdelijke map staat, en elk besturingssysteem de tijdelijke map beschouwt als veilig om te verwijderen. Op Linux past systemd-tmpfiles de regel toe uit /usr/lib/tmpfiles.d/tmp.conf, vaak een wissing bij het opstarten of na een aantal dagen. macOS leegt /private/tmp bij een herstart en ruimt oude bestanden op. Op Windows vegen Opslaginzicht en Schijfopruiming %TEMP% leeg. Niets in Claude Code beschermt de map tegen een van deze.

Kan ik veranderen waar Claude Code zijn scratchpad zet?

Niet met een eigen instelling, in Claude Code 2.1.278. De map volgt de tijdelijke map van het besturingssysteem, dus TEMP verplaatsen op Windows of TMPDIR op Unix verplaatst hem mee. Verzoeken om een aparte variabele of een blijvende locatie onder ~/.claude zijn gesloten als niet gepland. De betrouwbare optie is de agent te zeggen alles wat ertoe doet in plaats daarvan in het project te schrijven.

Is de scratchpad hetzelfde als ~/.claude/projects?

Nee. ~/.claude/projects/<project-slug>/ bevat de sessietranscripties en, per sessie, een map tool-results waar te grote tooluitvoer wordt opgeslagen. Die locatie is blijvend. De scratchpad onder de tijdelijke map is de werkruimte die de agent gebruikt voor scripts en tussenbestanden, en die is vluchtig.

Is dit de AgentsRoom Scratchpad?

Zelfde woord, iets anders. De AgentsRoom Scratchpad is de prompteditor ingebouwd in de agentcomposer, waar je per agent een concept schrijft en bewaart. De scratchpad van Claude Code is een map die de CLI voor elke sessie aanmaakt. AgentsRoom kan elk bestand uit die map openen met File > Open File, gemarkeerd als “Buiten het project”.

Download AgentsRoom

Draai al je AI-agenten, op al je projecten, vanuit één enkel venster.

GratisDownload AgentsRoom

Companion-app: houd je agents onderweg in de gaten

Breng je eigen: Claude, Codex, Antigravity CLI of andere AI-provider.

Download de extensie
Chrome Web Store

Stuur bugs en verzoeken direct naar je openbare backlog.

Meerdere projecten
Multi-provider
Meerdere agenten
Live status
Bestandsverschil & commit
Mobiele metgezel
Live voorbeeld
Agententeams
Browserautomatisering
Backlog-gedreven ontwikkeling
Promptbibliotheek
Vaardighedenbibliotheek
Bekijk alle functies

Verder lezen