Claude Code löscht deine Sessions nach 30 Tagen — und (fast) niemand weiß es
Claude Code räumt deinen lokalen Session-Verlauf nach 30 Tagen automatisch weg — die Einstellung heißt cleanupPeriodDays und steht in einer Datei, die es auf deinem Rechner wahrscheinlich noch gar nicht gibt. Wie du das abstellst, warum ein DSGVO-Antrag die Dateien nicht zurückholt, und warum Codex sich genau andersherum verhält.
Kurzfassung
Claude Code löscht deinen kompletten lokalen Session-Verlauf nach 30 Tagen automatisch — die Standard-Einstellung heißt
cleanupPeriodDaysund steht auf30. Nach diesem Post weißt du, ob du betroffen bist, wie du die Löschung mit einer Zeile dauerhaft abschaltest, und warum du diese Dateien von Anthropic auch über die DSGVO nicht zurückbekommst.
Was das macht
Jedes Mal wenn du mit Claude Code arbeitest, schreibt das Tool den kompletten Verlauf eurer Session als Datei auf deine Festplatte — jede Nachricht, jeder Befehl, jede Datei-Änderung. Diese Dateien liegen unter ~/.claude/projects/ und sind im JSONL-Format. JSONL heißt einfach: jede Zeile ist ein eigenes JSON-Objekt, also eine Liste, bei der jeder Eintrag in seiner eigenen Zeile steht. (Die Tilde ~ ist die Kurzschreibweise für deinen Benutzerordner, auf dem Mac also /Users/deinname.)
Das ist praktisch, denn genau aus diesen Dateien kann Claude Code eine alte Session wieder aufmachen — du tippst claude --resume und bist zurück in einem Gespräch von letzter Woche. Dein ganzes Arbeitsgedächtnis mit dem Agenten liegt da.
Der Haken: Claude Code räumt diese Dateien standardmäßig nach 30 Tagen weg. Nicht weil etwas kaputt ist — das ist die eingebaute Voreinstellung. Es gibt eine Einstellung namens cleanupPeriodDays, und wenn du sie nie angefasst hast, steht sie auf 30. Alles, was älter ist, wird beim Start automatisch gelöscht.
Und gelöscht ist hier wörtlich gemeint. Bei mir waren dadurch rund neun Monate an Claude-Code-Sessions weg, bevor ich überhaupt gemerkt habe, dass es diese Einstellung gibt. Kein Papierkorb, kein Backup, keine Wiederherstellung. Dieser Post ist die Anleitung, die ich mir vorher gewünscht hätte.
Achtung
Die Löschung betrifft nicht nur die Chat-Verläufe. Laut der offiziellen Doku räumt derselbe Lauf auch die Transcripts der Subagenten, ausgelagerte Tool-Ergebnisse, die Datei-Snapshots für den Checkpoint-Restore (
~/.claude/file-history/), Plan-Dateien, Debug-Logs, Paste- und Bild-Cache, Task-Dateien (~/.claude/tasks/), Shell-Snapshots und interne Backups mit weg. Seit neuerem hängen auch verwaiste Git-Worktrees an derselben Altersgrenze. Es ist ein kompletter 30-Tage-Schnitt durch deinen lokalen Claude-Code-Zustand.Praktische Folge, die viele überrascht: Mit dem Transcript verschwindet auch die Möglichkeit, in dieser Session einen Checkpoint zurückzurollen.
Was du brauchst
- Claude Code installiert — die Einstellung gibt es in jeder halbwegs aktuellen Version
- Ein Terminal — Terminal ist einfach das Programm, in das du Befehle tippst (auf dem Mac: "Terminal" oder iTerm)
- 2 Minuten — Prüfen und Abschalten dauert zusammen keine fünf Minuten
Schritt 1: Prüfen, ob du schon betroffen bist
Zuerst die unangenehme Frage: Hat dich der Cleanup schon erwischt? Schau dir an, ab wann deine Sessions überhaupt noch existieren. Dieser Befehl zeigt dir die fünf ältesten Session-Dateien mit Datum:
find ~/.claude/projects/ -name "*.jsonl" -printf "%TY-%Tm-%Td %p\n" 2>/dev/null | sort | head -5Hinweis
Das
find … -printfmit%TY-%Tm-%Tdfunktioniert so auf Linux. Auf dem Mac hat das eingebautefindkein-printf— wenn du eine Fehlermeldung bekommst, nimm stattdessenls -ltU ~/.claude/projects/**/*.jsonl | tail -5oder lass es dir einfach von Claude Code selbst auflisten.
Vergleich das mit dem Tag, an dem du Claude Code installiert hast. Wann dein Claude-Ordner angelegt wurde, verrät dir:
stat -f "%SB %N" ~/.claudeKlafft da eine Lücke — Ordner seit einem halben Jahr da, aber die älteste Session ist nur ein paar Wochen alt — dann hat der Cleanup zugeschlagen. Den letzten Aufräum-Lauf kannst du sogar direkt nachsehen, Claude Code schreibt einen Zeitstempel mit:
cat ~/.claude/.last-cleanupSteht da ein Datum, ist der 30-Tage-Cleanup bei dir aktiv und schon gelaufen.
Schritt 2: Die Auto-Löschung abschalten
Jetzt der eigentliche Fix. Du setzt cleanupPeriodDays auf einen absurd großen Wert, dann wird praktisch nie wieder etwas gelöscht.
Zwei Dinge vorweg, weil sie die meisten Leute an dieser Stelle stolpern lassen:
Die Datei existiert wahrscheinlich noch gar nicht. ~/.claude/settings.json wird von Claude Code nicht automatisch angelegt — eine frische Installation legt nur .claude.json und einen backups/-Ordner an. Genau deshalb ist praktisch jeder betroffen: Steht cleanupPeriodDays nirgends, greift stillschweigend der eingebaute Standardwert von 30 Tagen. Du musst die Datei also unter Umständen selbst erstellen.
Es gibt dafür keinen Befehl und keinen Schalter im Menü. cleanupPeriodDays taucht in der /config-Oberfläche nicht auf, und ein claude config-Unterbefehl existiert in der CLI nicht mehr. Versuchst du es über die Kurzform, sagt dir Claude Code das direkt ins Gesicht:
$ claude -p "/config cleanupPeriodDays=999999"
cleanupPeriodDays isn't a /config setting. Run /config to see what's available.Heißt: Es führt kein Weg an der Datei vorbei. Öffne ~/.claude/settings.json (oder leg sie an) und füge die Zeile hinzu:
{
"cleanupPeriodDays": 999999
}Wenn die Datei schon Inhalt hat, hängst du das Feld einfach zu den anderen oben dazu — achte nur darauf, dass nach jeder Zeile außer der letzten ein Komma steht. 999999 Tage sind über 2700 Jahre, also faktisch "nie".
0funktioniert nicht — und der Grund ist die eigentliche GeschichteEs liegt nahe,
0für "gar nicht löschen" zu probieren. Genau das haben viele getan, und es hat das Gegenteil bewirkt:0hat früher still das Mitschreiben komplett abgeschaltet, es entstanden also gar keine Verläufe mehr. Heute wird der Wert deshalb abgewiesen, der kleinste erlaubte ist1.Wenn du Transcripts bewusst gar nicht auf die Platte schreiben willst, ist der richtige Hebel die Umgebungsvariable
CLAUDE_CODE_SKIP_PROMPT_HISTORY. Im Skript-Betrieb geht auch--no-session-persistencezusammen mit-p, im Agent SDKpersistSession: false.
Claude Code nennt den Grund selbst, wenn man es probiert:
cleanupPeriodDays: Number must be greater than or equal to 0
Suggested fix: cleanupPeriodDays must be at least 1. To keep transcripts for a
long time, set a large number (e.g. 3650 for ~10 years). [...] (0 is rejected
because it previously silently disabled all transcript writes, which users
setting it to mean "never clean up" did not expect.)Zwei Dinge stecken da drin. Erstens schlägt Anthropic für "lange behalten" selbst 3650 vor, also rund zehn Jahre — ein ebenso gültiger Wert wie das 999999 von oben. Zweitens die Gegenprobe mit Claude Code 2.1.233: Liegt ein ungültiges cleanupPeriodDays: 0 in der Settings-Datei, pausiert der Cleanup, und eine 60 Tage alte Testdatei überlebt. Der frühere Rückfall auf die 30-Tage-Voreinstellung passiert seit 2.1.203 nicht mehr.
Halt Claude Code aktuell — sonst greift die Einstellung nicht zuverlässig
Bis Version 2.1.203 gab es einen Fehler, der genau diese Einstellung ausgehebelt hat: Konnte Claude Code eine
settings.jsonnicht lesen oder parsen (ein fehlendes Komma reicht), fiel der Cleanup stillschweigend auf die 30-Tage-Voreinstellung zurück — und löschte damit exakt die Transcripts, die dein hohercleanupPeriodDaysschützen sollte. Ab 2.1.203 pausiert der Cleanup in dem Fall stattdessen und zeigt eine Warnung in/status. Prüf deine Version mitclaude --version.
Du musst die Datei nicht von Hand bearbeiten. Der einfachste Weg ist, Claude Code selbst ranzulassen — öffne eine Session und gib das hier ein:
Füge "cleanupPeriodDays": 999999 zu meiner ~/.claude/settings.json hinzu,
damit meine Sessions nie automatisch gelöscht werden. Zeig mir danach, dass es drinsteht.Prüfen, ob es sitzt:
grep cleanupPeriodDays ~/.claude/settings.jsonKommt die Zeile zurück, bist du durch. Ab jetzt sammelt Claude Code deinen Verlauf, statt ihn wegzuwerfen.
Einmal global reicht — nicht pro Projekt
Wichtig, damit du es nicht falsch machst: Diese eine Zeile in ~/.claude/settings.json gilt für alle deine Projekte. Claude Code speichert zwar pro Projekt einen eigenen Ordner unter ~/.claude/projects/<projekt>/, aber der Cleanup räumt den ganzen Baum auf einmal auf und liest dafür deine globale Einstellung. Du musst cleanupPeriodDays also nicht in jedem Projekt einzeln setzen — einmal global, fertig.
Hinweis
Es ist trotzdem eine scoped Einstellung: Ein Projekt darf den globalen Wert mit einer eigenen
.claude/settings.jsonüberschreiben, und der Projekt-Wert gewinnt. Die Rangfolge (hoch → niedrig): Managed/Enterprise → Command-Line →.claude/settings.local.json(Projekt, lokal) →.claude/settings.json(Projekt, geteilt) →~/.claude/settings.json(global). Heißt konkret: liegt in einem geclonten Repo eine eingecheckte.claude/settings.jsonmit einem niedrigerencleanupPeriodDays, folgen die Transcripts dieses Projekts diesem Wert — nicht deinem globalen. Wenn du ganz sichergehen willst, prüf das einmal kurz:
grep -rl --include=settings.json cleanupPeriodDays ~/dein-code-ordner 2>/dev/nullSchritt 3: Trotzdem ein eigenes Backup einrichten
Die Einstellung schützt dich vor dem automatischen Löschen. Sie schützt dich nicht vor einem Festplatten-Crash, einem versehentlichen rm, oder einem Tool-Update das sich anders verhält als gedacht. Die Sessions liegen nur an einer einzigen Stelle auf deiner Maschine — und genau das ist das eigentliche Risiko.
Ein simpler periodischer Sync auf eine externe Platte oder in ein privates Git-Repo reicht völlig:
rsync -aH ~/.claude/projects/ /Volumes/DeineBackupPlatte/claude-sessions/Tipp
Wenn du Codex CLI auch nutzt, sichere
~/.codex/sessions/gleich mit — dort sammelt sich noch viel mehr an (dazu unten mehr).
Die Kehrseite: eine Datei wird nie aufgeräumt
Der Cleanup ist streng bei den Verläufen und komplett gleichgültig bei einer Datei, die datenschutzrechtlich fast heikler ist: ~/.claude/history.jsonl. Da steht jeder Prompt, den du je getippt hast drin, mit Zeitstempel und Projektpfad — das ist die Liste, durch die du mit der Pfeil-nach-oben-Taste blätterst. Diese Datei fällt ausdrücklich nicht unter die automatische Aufräumung und bleibt, bis du sie selbst löschst.
Das ist die eigentliche Ironie der Voreinstellung: Der nützliche Teil (dein Arbeitsgedächtnis mit dem Agenten) fliegt nach 30 Tagen raus, die Protokollspur deiner Tastatureingaben bleibt für immer. Beides liegt unverschlüsselt im Klartext auf der Platte — Dateirechte sind der einzige Schutz. Liest ein Tool mal eine .env, steht das Passwort damit im Transcript.
Wenn du für ein einzelnes Projekt sauber machen willst, gibt es dafür seit Version 2.1.124 einen eigenen Befehl statt Handarbeit im Finder:
claude project purgeDer wichtigste Punkt: Diese Dateien liegen NUR bei dir
Hier kommt die Sache, die die meisten überrascht. Es liegt nahe zu denken: "Anthropic hat die Gespräche doch eh auf ihren Servern, ich frag die einfach." Stimmt so nicht.
Die .jsonl-Dateien sind ein rein lokales Artefakt von Claude Code. Sie verlassen deine Maschine nie als Datei. Was an Anthropic geht, sind die einzelnen Nachrichten über die API — also die Prompts und die Antworten, die nötig sind, um eine Antwort zu erzeugen. Die fertige Verlaufsdatei auf deiner Platte hat Anthropic nie gesehen. Die offizielle Doku sagt es deutlich: "Claude Code clients store session transcripts locally in plaintext under ~/.claude/projects/ for 30 days by default." Lokal. Auf deinem Rechner.
Heißt für die Wiederherstellung: Wenn du kein eigenes Backup hast (Time Machine, externe Platte, Cloud-Sync, Git), sind gelöschte Sessions weg. Nicht "schwer wiederherzustellen" — weg.
"Aber die DSGVO?" — warum das hier nicht hilft
Als EU-Bürger hast du ein Auskunftsrecht (Artikel 15 DSGVO) und ein Recht auf Datenübertragbarkeit (Artikel 20 DSGVO). Du kannst bei Anthropic also einen Antrag stellen und alle personenbezogenen Daten anfordern, die sie über dich haben. Klingt nach der Rettung. Ist es aber aus zwei voneinander unabhängigen Gründen nicht.
Erstens: Anthropic hatte die Dateien nie. Die DSGVO zwingt einen Anbieter dazu, dir die Daten herauszugeben, die er hat. Die .jsonl-Verlaufsdateien hatte Anthropic nie — die kann dir niemand zurückgeben. Bestenfalls bekämst du den Inhalt der Gespräche, falls er serverseitig noch existiert.
Zweitens: Der Inhalt ist nach der Aufbewahrungsfrist ohnehin gelöscht. Anthropic speichert Inhalte nur für ein begrenztes Zeitfenster und löscht sie dann planmäßig. Wie lang das Fenster ist, hängt an deinem Konto und einem einzigen Schalter:
- Free / Pro / Max ohne Trainings-Einwilligung — 30 Tage
- Free / Pro / Max mit Trainings-Einwilligung — 5 Jahre (de-identifiziert, in der Trainings-Pipeline)
- Team / Enterprise / API — 30 Tage (Zero Data Retention auf Anfrage für qualifizierte Enterprise-Konten)
- Bei Verstoß gegen die Nutzungsrichtlinien — bis 2 Jahre Inhalte, bis 7 Jahre Trust-&-Safety-Scores
Gelöschte Gespräche verschwinden laut Privacy Center sofort aus dem Verlauf und "innerhalb von 30 Tagen" aus den Backend-Systemen. Die DSGVO verlangt nicht, dass ein Anbieter planmäßig gelöschte Daten wiederherstellt — im Gegenteil, das fristgerechte Löschen ist selbst eine DSGVO-Pflicht (Artikel 5 Absatz 1 lit. e: nicht länger speichern als nötig).
Nebenbei die praktische Erkenntnis aus der Tabelle: Der Schalter, der deine Daten fünf Jahre statt dreißig Tage auf fremden Servern liegen lässt, ist die Trainings-Einwilligung — und die ändert nichts daran, dass deine lokalen Verlaufsdateien trotzdem nach 30 Tagen weggeräumt werden. Umstellen kannst du das jederzeit unter claude.ai/settings/data-privacy-controls.
Hinweis
Ein Versuch kostet trotzdem nur fünf Minuten: eine Mail an
privacy@anthropic.commit Betreff "GDPR Data Subject Access Request", deiner Konto-Mail und der konkreten Frage, ob noch Gesprächsdaten aus dem fraglichen Zeitraum existieren. Antwortfrist sind 30 Tage. Erwarte aber realistisch: Die alten Sessions kommen so nicht zurück.
Codex und ChatGPT: das genaue Gegenteil
Damit du den Unterschied einordnen kannst — die OpenAI-Seite verhält sich anders:
- Claude Code — Speicherort: Lokal (
~/.claude/projects/) — Automatische Löschung?: Ja — nach 30 Tagen (cleanupPeriodDays, abschaltbar) - Claude Code — Prompt-History — Speicherort: Lokal (
~/.claude/history.jsonl) — Automatische Löschung?: Nein — bleibt unbegrenzt - Codex CLI — Speicherort: Lokal (
~/.codex/sessions/) — Automatische Löschung?: Nein — keine Cleanup-Einstellung, sammelt alles - claude.ai (Cloud) — Speicherort: Anthropic-Server — Automatische Löschung?: Gelöschte Chats nach ~30 Tagen entfernt; sonst gespeichert
- ChatGPT (Cloud) — Speicherort: OpenAI-Server — Automatische Löschung?: Nein — bleibt unbegrenzt, bis du löschst (dann ~30-Tage-Purge)
Codex CLI hat schlicht keinen Mechanismus, der die Session-Dateien altersbasiert wegräumt — in der offiziellen Konfigurations-Referenz gibt es keine Retention- oder Cleanup-Option für ~/.codex/sessions/. Das ist bequem, wird aber mit der Zeit groß: Auf meiner Maschine liegen dort inzwischen 1,3 GB an Sessions, an die nie jemand rangeht. Sicher, aber irgendwann ein Fall fürs manuelle Aufräumen.
Manuell heißt bei Codex mittlerweile nicht mehr "Ordner im Finder löschen", es gibt eigene Befehle dafür:
codex archive # Session ins Archiv schieben (~/.codex/archived_sessions/)
codex unarchive # wieder zurückholen
codex delete # endgültig löschen
codex exec --ephemeral # Lauf, der gar nichts auf die Platte schreibtZwei Konfigurationsschlüssel gibt es trotzdem, sie betreffen aber nur die Prompt-History (~/.codex/history.jsonl), nicht die Session-Dateien: [history] persistence = "none" schaltet das Mitschreiben ab, [history] max_bytes deckelt die Dateigröße und wirft beim Überlauf die ältesten Einträge weg.
Hinweis
Das ist genau spiegelverkehrt zu Claude Code: Bei Claude Code werden die Verläufe automatisch gelöscht und die Prompt-History bleibt ewig, bei Codex bleiben die Verläufe ewig und nur für die Prompt-History gibt es überhaupt eine Deckelung.
ChatGPT im Browser wiederum behält deine Unterhaltungen unbegrenzt, bis du sie selbst löschst — und erst nach dem Löschen greift ein 30-Tage-Purge auf den Servern. Die "30 Tage" tauchen also in beiden Welten auf, meinen aber komplett verschiedene Dinge: bei Claude Code das automatische Wegräumen lokaler Dateien, bei der Cloud das endgültige Entfernen nach einer von dir ausgelösten Löschung.
Schnellreferenz
- Älteste noch vorhandene Sessions sehen —
find ~/.claude/projects/ -name "*.jsonl" | sort | head - Letzten Cleanup-Lauf nachsehen —
cat ~/.claude/.last-cleanup - Auto-Löschung abschalten —
"cleanupPeriodDays": 999999in~/.claude/settings.json - Prüfen, ob die Einstellung sitzt —
grep cleanupPeriodDays ~/.claude/settings.json - Auf Projekt-Overrides prüfen —
grep -rl --include=settings.json cleanupPeriodDays ~/dein-code-ordner - Version prüfen (muss ≥ 2.1.203 sein) —
claude --version - Transcripts gar nicht erst schreiben — Umgebungsvariable
CLAUDE_CODE_SKIP_PROMPT_HISTORYsetzen (nichtcleanupPeriodDays: 0— das failt) - Ein Projekt komplett aufräumen —
claude project purge - Backup ziehen —
rsync -aH ~/.claude/projects/ /Volumes/Backup/claude-sessions/ - Codex-Session archivieren / löschen —
codex archive/codex delete
Selbst nachbauen
Wenn du Claude Code oder einen anderen AI-Coding-Assistenten nutzt, kopier diesen Prompt:
Read this guide and implement all the steps for my machine: https://cyp.dev/de/blog/claude-code-loescht-sessions-nach-30-tagenDer Post enthält jeden Befehl und jeden Pfad, den der Agent braucht, um deine Sessions zu prüfen, die Auto-Löschung abzuschalten und ein Backup einzurichten.
Zum Selbst-Nachlesen: die Originalstellen
Weil dieser Post eine unbequeme Behauptung aufstellt, hier die Belege im Wortlaut — jeweils aus der offiziellen Dokumentation der Hersteller, nicht aus zweiter Hand.
Dass Claude Code lokal löscht
Anthropic sagt es in der Datenschutz-Doku selbst, im Abschnitt Data retention:
"Local caching: Claude Code clients store session transcripts locally in plaintext under
~/.claude/projects/for 30 days by default to enable session resumption. Adjust the period withcleanupPeriodDays."
Die Settings-Referenz nennt Standardwert, Untergrenze und das Verhalten bei 0:
Claude Code — Settings, Eintrag
cleanupPeriodDays"Default:
30days, minimum1. Claude Code deletes session files and other application data older than this period at startup. Setting0fails with a validation error. […] Before v2.1.203, cleanup ran at the 30-day default in that state and could delete transcripts a longercleanupPeriodDayswas meant to keep."
Und die Verzeichnis-Doku listet auf, was genau wegfliegt — und was ausdrücklich nicht:
Claude Code — Das
.claude-VerzeichnisCleaned up automatically: "Files in the paths below are deleted on startup once they're older than
cleanupPeriodDays. The default is 30 days." — betrifftprojects/<project>/<session>.jsonl,subagents/,tool-results/,file-history/,plans/,debug/,paste-cache/,image-cache/,session-env/,tasks/,shell-snapshots/,backups/Kept until you delete them: "The following paths are not covered by automatic cleanup and persist indefinitely." — darunter
history.jsonl: "Every prompt you've typed, with timestamp and project path."
Dass es nur über die Datei geht
Die Settings-Doku markiert bei jeder Einstellung, die in der /config-Oberfläche auftaucht, ausdrücklich "Appears in /config". Rund 30 Einstellungen tragen diesen Vermerk — cleanupPeriodDays gehört nicht dazu. Gegenprobe im Terminal, mit Claude Code 2.1.223:
$ claude -p "/config cleanupPeriodDays=999999"
cleanupPeriodDays isn't a /config setting. Run /config to see what's available.Ein claude config-Unterbefehl existiert ebenfalls nicht (claude --help listet unter Commands nur agents, auth, auto-mode, doctor, gateway, import, install, mcp, plugin, project, setup-token, ultrareview, update).
Dass die Datei anfangs fehlt, lässt sich mit einem frischen Konfigurationsverzeichnis nachstellen:
CLAUDE_CONFIG_DIR=/tmp/test-claude claude doctor
ls -a /tmp/test-claude
# .claude.json backups
# → keine settings.jsonKein settings.json, also kein cleanupPeriodDays, also greift der Standardwert. Genau das ist der Grund, warum das Verhalten so vielen nie auffällt.
Dass Codex nichts löscht
Bei OpenAI ist es schwieriger zu belegen, weil eine fehlende Funktion selten dokumentiert wird. Drei Belege zusammen sind aber eindeutig.
Erstens beschreibt die offizielle Befehlsreferenz Archivieren ausdrücklich als Nicht-Löschen, und Löschen als etwas, das du selbst anstoßen musst:
codex archive/unarchive: "Archive or restore a saved interactive session by session ID or session name. Use these commands when you want to clean up the session picker without deleting the transcript."
codex delete: "Permanently delete a saved interactive session by session ID or session name."
codex exec --ephemeral: "Run without persisting session rollout files to disk."
Ein eigenes Flag dafür, nicht auf die Platte zu schreiben, ergibt nur Sinn, wenn Schreiben und Liegenbleiben der Normalfall ist.
Zweitens kennt die Konfigurations-Referenz nur eine Deckelung für die Prompt-History, keine für die Sessions:
Codex — Advanced configuration
"By default, Codex saves local session transcripts under
CODEX_HOME(for example,~/.codex/history.jsonl)." — abschaltbar mit[history] persistence = "none", deckelbar mit[history] max_bytes, wobei Codex beim Überlauf "drops the oldest entries and compacts the file while keeping the newest records".
Drittens — und am deutlichsten — liegt in OpenAIs eigenem Repository seit Oktober 2025 ein offener Feature-Wunsch, überhaupt erst eine Aufbewahrungsfrist einzubauen:
openai/codex Issue #6015 — "Customizable retention period for sessions" (Status: offen)
"Currently, Codex retains every conversation indefinitely, so the history folder grows larger over time even though many of those conversations are no longer useful."
Ein offener Wunsch nach einer Funktion ist der beste verfügbare Beweis, dass es sie nicht gibt. Bemerkenswert ist die Diskussion darunter: Mehrere Nutzer bitten darum, so etwas niemals als stillen Standard einzuführen — und führen als warnendes Beispiel ausgerechnet Claude Code an.
Quellen
- Claude Code — Data Usage & Retention — lokales Caching unter
~/.claude/projects/für 30 Tage, serverseitige Aufbewahrung nach Kontotyp (Schritt 1 & 2, DSGVO-Abschnitt) - Claude Code — Settings —
cleanupPeriodDays: Standard 30, Minimum 1,0wirft einen Validierungsfehler; Settings-Rangfolge; Verhalten bei unlesbarer Settings-Datei ab v2.1.203 (Schritt 2) - Claude Code — Das
.claude-Verzeichnis — vollständige Liste, was der Cleanup löscht und was ausdrücklich nicht (history.jsonl), Klartext-Speicherung,claude project purge - Anthropic — API and Data Retention — serverseitige Aufbewahrung der API-Inhalte
- Anthropic Privacy Center — How long do you store my data? — 30-Tage-Purge nach Löschung, 5 Jahre bei Trainings-Einwilligung, Sonderfälle bei Richtlinienverstößen (DSGVO-Abschnitt)
- OpenAI — Chat and File Retention in ChatGPT — ChatGPT-Cloud-Aufbewahrung
- OpenAI Codex — Konfigurations-Referenz & Developer Commands —
[history] persistence/max_bytes,codex archive/delete,--ephemeral; keine altersbasierte Session-Bereinigung - openai/codex Issue #6015 — Customizable retention period for sessions — offener Feature-Wunsch, der die aktuelle Lage bestätigt: "Codex retains every conversation indefinitely"
- DSGVO Artikel 15 — Auskunftsrecht & Artikel 20 — Datenübertragbarkeit
Stand
Alle Angaben gegen die offiziellen Dokus geprüft am 6. August 2026, verifiziert mit Claude Code 2.1.223 und Codex CLI 0.146.0. Das Verhalten bei
cleanupPeriodDays: 0am 16. August 2026 mit Claude Code 2.1.233 in einem separaten Konfigurationsverzeichnis nachgestellt.
Zusammenfassung
Claude Code wirft deinen Session-Verlauf nach 30 Tagen weg, solange du cleanupPeriodDays nicht anfasst — und diese Dateien liegen nur bei dir, nicht bei Anthropic, also holt sie auch kein DSGVO-Antrag zurück. Eine Zeile in settings.json stoppt das Löschen, ein simpler rsync macht es krisensicher. Was dabei nicht gelöscht wird, ist die Prompt-History — die bleibt für immer, im Klartext. Codex und ChatGPT verhalten sich genau andersherum und räumen von sich aus gar nichts weg. Schalt die Auto-Löschung ab, bevor du merkst, dass sie existiert — bei mir war diese Erkenntnis neun Monate zu spät.