SSD Nodes Learn Hosting plans →
Gidsen Matt ConnorDoor Matt Connor · Bijgewerkt 2026-09-12

Claude Code sessie hervatten en geschiedenis bekijken

Hervat uw Claude Code sessie via het commando resume of kies uit de lijst. Leer waar de plaintext transcripten op uw systeem worden opgeslagen voor volledige controle.

Hoe hervat u een Claude Code-sessie

Om een Claude Code-sessie te hervatten, voert u claude --continue uit voor het meest recente gesprek in de huidige map, of claude --resume om een ouder gesprek uit een lijst te kiezen. Vanuit een actieve sessie schakelt het commando /resume u naar een ander gesprek zonder de sessie te beëindigen. De verkorte vormen zijn -c en -r.

claude --continue
claude --resume
claude --resume auth-refactor

Als u de sessienaam of het ID al kent, geef dit dan op als argument. Claude Code gaat direct naar die sessie zonder de keuzelijst te tonen.

Alles hieronder komt overeen met de officiële sessiedocumentatie van augustus 2026. Claude Code brengt regelmatig updates uit en vlag-namen en sneltoetsen kunnen tussen versies wijzigen. Beschouw claude --help en die pagina daarom als de bron van waarheid wanneer iets hier niet overeenkomt met wat uw terminal toont.

Wat een sessie daadwerkelijk is

Een sessie is één opgeslagen conversatie die gekoppeld is aan een projectmap. Deze bevat de volledige berichtgeschiedenis, inclusief de tool-aanroepen die Claude heeft gedaan en de resultaten die deze aanroepen hebben opgeleverd. Claude Code schrijft deze gegevens continu naar de schijf terwijl u werkt, en niet pas aan het einde. Hierdoor blijft een conversatie behouden als u de terminal sluit of de SSH-verbinding verliest.

Bij het hervatten wordt meer hersteld dan alleen de tekst. De volledige conversatiegeschiedenis komt terug, samen met het model dat de sessie gebruikte en de subagent waarmee deze werd gestart als u --agent heeft gebruikt. De permissiemodus wordt ook hersteld, met uitzonderingen die bestaan voor de veiligheid: plan-modus en bypass-permissions-modus worden nooit hersteld. Een sessie die zich in een van deze modi bevond, wordt daarom hervat in de modus waarin een nieuwe sessie zou starten.

Sommige zaken komen niet terug, omdat dit vlaggen waren voor het opstartmoment en geen opgeslagen status. Mappen die zijn toegevoegd met --add-dir, en opties zoals --mcp-config, --settings en --plugin-dir, moeten opnieuw worden meegegeven wanneer u hervat. Instellingenbestanden zoals settings.json worden bij het opstarten opnieuw ingelezen, dus alles wat daarin staat hoeft niet te worden herhaald. Inloggegevens vallen in dezelfde categorie: Claude Code bepaalt bij het opstarten hoe de authenticatie moet verlopen op basis van uw login en uw omgeving, in plaats van dit met de conversatie te herstellen. Een sessie die wordt hervat op een VPS waar een foutieve ANTHROPIC_API_KEY in de shell is geslopen, zal daarom de foutmelding over een ongeldige API-sleutel geven, ook al werkte het de vorige keer naar behoren.

Waarom sessiegeschiedenis belangrijker is op een VPS

Dit is het feit dat mensen vaak verrast. Het transcript wordt geschreven op de machine waar de agent werd uitgevoerd. Het wordt niet in uw account bewaard en niet gesynchroniseerd met een cloud. Het is een bestand op de schijf van die specifieke machine.

Een sessie die u in een tmux-venster op uw VPS hebt achtergelaten, verschijnt dus niet in de kiezer op uw laptop, en een sessie vanaf uw laptop verschijnt niet op de VPS. Er wordt niets tussen deze apparaten uitgewisseld. Als u werkt zoals de meeste mensen wanneer u Claude Code in tmux op een VPS uitvoert, is de server de plek waar uw werkelijke gespreksgeschiedenis zich opbouwt, en de kiezer die u lokaal ziet, toont een andere en veel kleinere set.

Dezelfde splitsing geldt voor verschillende interfaces. De desktop-app en de VS Code-extensie houden elk hun eigen sessiegeschiedenis bij, en geen van beide is de geschiedenis van de CLI. Claude Code op het web houdt ook zijn eigen geschiedenis bij. Cowork bevindt zich nog verder weg; dit draait in een Anthropic-sandbox in plaats van op hardware die uw eigendom is. Als u dus Cowork afweegt tegen Claude Code, is de locatie waar het transcript terechtkomt onderdeel van uw beslissing.

Binnen één machine is de zoekopdracht breder dan u wellicht verwacht. claude --resume <session-id> zoekt eerst in de huidige projectmap en de bijbehorende git-worktrees, en vervolgens in elk ander project op die machine. De zinsnede die u moet onthouden is "op die machine". Een sessie-ID van een andere host levert niets op, en Claude Code meldt dit aan u met No conversation found with session ID: <session-id>.

Waar slaat Claude Code de sessiegeschiedenis op

Standaard worden transcripten opgeslagen in uw Claude Code-configuratiemap, op een pad van de vorm ~/.claude/projects/<project>/<session-id>.jsonl.

<project> is het pad van uw werkmap waarbij elk niet-alfanumeriek teken is vervangen door een koppelteken. Een sessie die is gestart in /home/deploy/apps/api wordt dus opgeslagen in een map met de naam -home-deploy-apps-api. Als deze geconverteerde naam langer zou zijn dan 200 tekens, kort Claude Code deze in en voegt een hash van het volledige pad toe, zodat de mapnaam binnen de limieten van het bestandssysteem blijft.

Het bestand is in JSONL-formaat: één JSON-object per regel, waarbij elke regel een bericht, een tool-aanroep of een metadata-item bevat. Het is leesbare tekst en het inzien ervan is toegestaan.

Het schrijven van een parser voor deze bestanden wordt afgeraden. Het formaat van de items is intern aan Claude Code en verandert tussen versies. Een script dat deze bestanden direct leest, kan dus bij elke update defect raken. De documentatie van Anthropic adviseert om /export of de gedocumenteerde script-interfaces te gebruiken, wat om precies die reden een goed advies is.

Twee instellingen veranderen de werking. CLAUDE_CONFIG_DIR verplaatst de volledige configuratiemap; dit is de manier om transcripten op een aparte of versleutelde schijf te plaatsen. cleanupPeriodDays in settings.json bepaalt hoe lang ze worden bewaard. De standaardwaarde is 30 dagen, met een minimum van 1.

Wat staat er precies in die transcriptbestanden

Elk resultaat van een tool wordt vastgelegd. Dit betekent dat een transcript de inhoud bevat van bestanden die Claude heeft gelezen en de uitvoer van commando's die Claude heeft uitgevoerd. De pagina over datagebruik van Anthropic stelt het duidelijk: Claude Code slaat sessietranscripten lokaal op als platte tekst in ~/.claude/projects/.

Denk na over wat dit betekent op een server. Als Claude een .env-bestand heeft gelezen om te achterhalen waarom een service niet wilde starten, dan staat de inhoud van dat bestand nu in een JSONL-bestand in uw home-directory. Als een commando een connection string heeft getoond, dan staat die string daar ook in. Er is niets gelekt. Het transcript heeft vastgelegd wat er is gebeurd, wat precies het doel ervan is, en dat is de reden waarom het onderdeel moet zijn van uw dreigingsmodel.

  • Back-ups: een standaard back-up van /home of /root kopieert uw transcripten naar de locatie waar back-ups worden opgeslagen. Voeg een uitsluiting toe, of accepteer dat kopieën van uw prompts en de inhoud van uw bestanden nu in uw back-upopslag staan.
  • Snapshots en images: een VPS-snapshot die om welke reden dan ook wordt gemaakt, bevat de volledige directory. Dat geldt ook voor een image die u kloont om een tweede server op te bouwen.
  • Andere accounts op de server: controleer de rechten zelf met ls -ld ~/.claude ~/.claude/projects in plaats van aan te nemen dat deze strikt zijn.
  • Bewuste uploads: het /feedback-commando verstuurt de gespreksgeschiedenis bewust naar Anthropic, en /bug en /share rapporteren via hetzelfde pad. Dit zijn acties waar u zelf voor kiest; wees u dus bewust van waar u akkoord mee gaat voordat u bevestigt.

Als u liever heeft dat er geen transcript wordt aangemaakt, dan onderdrukt CLAUDE_CODE_SKIP_PROMPT_HISTORY het schrijven van transcripten, en --no-session-persistence onderdrukt ze voor een enkele niet-interactieve claude -p-run. Wees u bewust van de afweging voordat u een van beide instelt. Transcripten zijn wat de resume-functie leest, dus geen transcript betekent geen resume-functionaliteit.

Hoe vindt u een oude conversatie

Open de kiezer met claude --resume, of vanuit een actieve sessie met /resume. Elke rij toont de sessienaam als u er een heeft ingesteld, of een gegenereerde titel als u dat niet heeft gedaan, plus de tijd sinds de laatste activiteit, de git-branch en de bestandsgrootte.

De kiezer voert zoekopdrachten uit. Druk op /, of begin simpelweg te typen, om de lijst te filteren. De sneltoetsen die de moeite waard zijn om te leren, zijn de opties die het bereik vergroten: Ctrl+A toont sessies van elk project op deze machine, Ctrl+W toont elke worktree van de huidige repository, en Ctrl+B filtert op de huidige git-branch. Druk op Space om een voorbeeld van de inhoud van een sessie te bekijken voordat u deze opent, en op Ctrl+R om de gemarkeerde sessie te hernoemen.

Het benoemen van sessies maakt dit alles veel eenvoudiger. Start er een met claude -n auth-refactor, of voer /rename auth-refactor halverwege uit, op het punt waarop u beseft dat de conversatie is veranderd in serieus werk. Een benoemde sessie is daarna direct vanuit de shell op naam te hervatten.

Een naamloze sessie krijgt nog steeds een gegenereerde titel, geschreven door een achtergrondverzoek aan een klein, snel model dat uw eerste prompt samenvat. Die titel helpt u de rij in de kiezer te herkennen, maar het is geen handle om de sessie te hervatten. claude --resume <name> komt alleen overeen met namen die u zelf heeft ingesteld.

Transcripts doorzoeken om de juiste sessie te vinden

Soms herinnert u zich alleen een specifieke zin. Omdat de transcripts uit tekst bestaan, kunt u deze doorzoeken.

grep -rl "nftables" ~/.claude/projects/

Dit commando toont de paden van de overeenkomende transcripts. De bestandsnaam zonder de .jsonl-extensie is het sessie-ID, en claude --resume <session-id> accepteert dit ID. Gebruik grep om te bepalen welke sessie u nodig heeft, en hervat of exporteer deze vervolgens om de inhoud te lezen.

Twee belangrijke kanttekeningen. De inhoud is JSON-geëscaped; een zin met aanhalingstekens of een zin die over een regeleinde is gesplitst, komt mogelijk niet overeen als letterlijke tekenreeks. Bovendien betekent een treffer in een tool-resultaat dat Claude die tekst heeft gezien, niet dat iemand deze zelf heeft getypt.

Een conversatie lezen en exporteren

/export geeft de huidige conversatie weer als platte tekst, waarbij berichten en tool-output leesbaar worden uitgeschreven in plaats van als JSON. Zonder argument opent het een menu met de optie om naar het klembord of een bestand te kopiëren. Met een bestandsnaam schrijft /export handover.txt direct naar dat pad. Dit is de juiste manier om een conversatie van een server naar uw laptop te verplaatsen of om deze toe te voegen aan een ticket.

Gebruik voor geautomatiseerde taken de interfaces die bedoeld zijn om stabiel te blijven. Hooks en statusregelcommando's ontvangen een transcript_path-veld als input, waardoor een SessionEnd-hook een transcript kan archiveren wanneer een sessie eindigt. U kunt ook een vraag stellen aan een opgeslagen sessie zonder deze te openen:

claude -p --resume <session-id> --output-format json "summarize what we changed" | jq -r '.result'

Dit verstuurt een vervolgprompt naar de oude conversatie en retourneert gestructureerde JSON. Dit is een veel betere basis dan het parsen van een JSONL-formaat dat in een volgende release kan wijzigen.

Wanneer een nieuwe sessie starten beter is dan hervatten

Hervatten brengt de volledige geschiedenis terug, en die volledige geschiedenis wordt bij elk volgend verzoek meegestuurd. Een gesprek dat gisteren vier uur duurde, is vandaag kostbaar om voort te zetten, en hoe tokengebruik oploopt tijdens een lange sessie legt uit waar die kosten vandaan komen.

Claude Code biedt soms een tussenweg. Op een Pro- of Max-abonnement opent het hervatten van een sessie die ongeveer een uur inactief is geweest en meer dan 100.000 tokens bevat, een dialoogvenster vóór uw eerste bericht. De prompt-cache is tegen die tijd verlopen, dus het volgende verzoek verwerkt de volledige geschiedenis hoe dan ook opnieuw, ongeacht welke optie u kiest.

  • Hervatten vanaf samenvatting voert direct een compressie uit, waardoor latere verzoeken een samenvatting bevatten in plaats van de volledige geschiedenis. Dit is goedkoper per verzoek, maar alles wat door de samenvatting is weggelaten, is niet langer beschikbaar.
  • Volledige sessie hervatten zoals deze is laadt het gesprek ongewijzigd, waarbij elk detail behouden blijft tegen kosten per verzoek die schalen met de omvang van het gesprek.

Een derde optie hervat het gesprek volledig en voorkomt dat het dialoogvenster bij latere hervattingen opnieuw verschijnt.

De afweging is eenvoudiger dan het lijkt. Hervat het gesprek wanneer het volgende dat u wilt typen afhankelijk is van wat er al is gezegd. Start een nieuwe sessie wanneer dat niet het geval is. Contextverlies is gemakkelijk te herkennen als u erop let: Claude verwijst naar een bestand dat u een uur geleden hebt verwijderd, of voert opnieuw een discussie over een besluit dat aan het begin van de sessie al was genomen. Dat is verouderde context, en het meeslepen daarvan kost u zowel tokens als nauwkeurigheid.

Als het nuttige deel van een oud gesprek een besluit of een feit is dat u opnieuw nodig zult hebben, vertrouw er dan niet op dat hervatten dit behoudt. Noteer het op een plek waar elke sessie erbij kan; daar zijn geheugenbestanden van Claude Code voor bedoeld.

/branch is hier ook nuttig om te weten. Hiermee kopieert u het gesprek tot het huidige punt en schakelt u over naar de kopie, terwijl het origineel intact blijft en beschikbaar blijft in de kiezer. Gebruik dit om een tweede aanpak te proberen zonder de eerste te verliezen.

Verschil tussen hervatten, compactie en geheugen

Deze begrippen worden constant verward, terwijl ze verschillende problemen oplossen.

Hervatten gaat over het terugkrijgen van een conversatie nadat u deze heeft verlaten, het systeem opnieuw heeft opgestart of bent overgeschakeld naar een andere taak. Compactie heeft betrekking op het contextvenster binnen een actieve conversatie: /compact vervangt wat Claude bij zich draagt door een samenvatting, zodat latere verzoeken minder tokens verbruiken. Als uw probleem is dat het contextvenster vol is, is compactie het juiste hulpmiddel, en het beheren van het Claude Code-contextvenster behandelt dit uitgebreid.

Geheugen is weer iets anders. CLAUDE.md-bestanden en automatisch geheugen bevatten instructies en feiten die aan het begin van elke sessie worden geladen; het is dus geen conversatie waar u naar terugkeert. Het is informatie die u vastlegt zodat u nooit meer naar een specifieke sessie hoeft terug te keren.

Als u twee conversaties tegelijkertijd wilt laten draaien en deze wilt coördineren, is dat een afzonderlijk mechanisme. Claude Code-sessies kunnen elkaar berichten sturen terwijl beide actief zijn; dit is een ander probleem dan het ophalen van de sessie van gisteren vanaf de schijf.

FAQ

Waar slaat Claude Code mijn sessiegeschiedenis op?

Standaard onder uw configuratiemap, op ~/.claude/projects/<project>/<session-id>.jsonl, waarbij <project> het pad naar de werkmap is met niet-alfanumerieke tekens vervangen door koppeltekens. Elk bestand is JSONL: één JSON-object per regel voor een bericht, een tool-aanroep of een metagegevensvermelding. CLAUDE_CONFIG_DIR verplaatst de configuratiemap naar een andere locatie, en cleanupPeriodDays in settings.json bepaalt hoe lang transcripten worden bewaard; de standaardwaarde is 30 dagen met een minimum van 1.

Waarom zie ik mijn VPS-sessie niet in de kiezer op mijn laptop?

Omdat transcripten worden geschreven naar de schijf van de machine waar de agent werd uitgevoerd, en er geen synchronisatie plaatsvindt tussen machines. Een gesprek dat u voerde binnen tmux op uw VPS bestaat alleen op de VPS. Hervat het daar via SSH, of voer /export uit binnen de sessie en kopieer het tekstbestand als u een lokaal archief wilt bijhouden.

Kan ik een sessie hervatten die ik in een andere map ben gestart?

Ja, als u het sessie-ID heeft. claude --resume <session-id> zoekt eerst in de huidige projectmap en de bijbehorende git-worktrees, en daarna in elk ander project op dezelfde machine. Binnen de kiezer verbreedt Ctrl+A de lijst naar elk project op de machine en verbreedt Ctrl+W deze naar elke worktree van de huidige repository. Als er geen overeenkomst wordt gevonden, meldt Claude Code No conversation found with session ID: <session-id>.

Moet ik een oude sessie hervatten of een nieuwe starten?

Hervat een sessie wanneer uw volgende bericht afhankelijk is van wat er al in dat gesprek is gezegd. Start een nieuwe sessie wanneer dit niet het geval is, omdat het hervatten de volledige geschiedenis opnieuw inlaadt en elk daaropvolgend verzoek deze geschiedenis meedraagt. Let op voor 'drift': een sessie die blijft verwijzen naar bestanden die u al heeft verwijderd, bevat verouderde context. Die context kost u tokens en vermindert de nauwkeurigheid bij elke interactie.

Kan ik voorkomen dat Claude Code transcripten naar de schijf schrijft?

Ja. CLAUDE_CODE_SKIP_PROMPT_HISTORY onderdrukt het schrijven van transcripten, en --no-session-persistence onderdrukt dit voor een enkele niet-interactieve claude -p-uitvoering. Begrijp eerst de gevolgen, want transcripten zijn de bron die de hervattingsfunctie leest; het uitschakelen ervan betekent dat --continue en --resume niets hebben om te laden. Als uw zorg de locatie van de bestanden is in plaats van het bestaan ervan, wijs CLAUDE_CONFIG_DIR dan naar een versleuteld volume en verlaag cleanupPeriodDays in plaats daarvan.