SSD Nodes Learn 🎉 VPS ab $5.50/Monat
Anleitungen Matt ConnorVon Matt Connor

Claude Code: Sitzung fortsetzen und Verlauf finden

Erfahren Sie, wie Sie Claude-Code-Sitzungen per Name, ID oder Auswahl fortsetzen und wo die Klartext-Transkripte auf dem Rechner gespeichert werden.

So setzen Sie eine Claude-Code-Sitzung fort

Um eine Claude-Code-Sitzung fortzusetzen, führen Sie claude --continue für die letzte Unterhaltung im aktuellen Verzeichnis aus. Mit claude --resume wählen Sie eine ältere Unterhaltung aus einer Liste aus. Innerhalb einer bereits laufenden Sitzung wechseln Sie mit dem Befehl /resume zu einer anderen Unterhaltung, ohne die Sitzung zu beenden. Die Kurzformen sind -c und -r.

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

Wenn Ihnen der Sitzungsname oder die Sitzungs-ID bereits bekannt ist, übergeben Sie ihn als Argument. Claude Code öffnet dann direkt diese Sitzung, ohne die Auswahlliste anzuzeigen.

Alle folgenden Angaben entsprechen der offiziellen Sitzungsdokumentation vom August 2026. Claude Code veröffentlicht häufig neue Versionen. Flag-Namen und Tastaturkürzel ändern sich zwischen den Versionen. Verwenden Sie daher claude --help und diese Seite als maßgebliche Quelle, wenn die Angaben hier nicht mit der Ausgabe Ihres Terminals übereinstimmen.

Was eine Session tatsächlich ist

Eine Session ist eine gespeicherte Unterhaltung, die an ein Projektverzeichnis gebunden ist. Sie enthält den vollständigen Nachrichtenverlauf, einschließlich der von Claude ausgeführten Tool-Aufrufe und der von diesen Aufrufen zurückgegebenen Ergebnisse. Claude Code schreibt die Daten während der Arbeit fortlaufend auf die Festplatte und nicht erst am Ende. Dadurch bleibt die Unterhaltung auch nach dem Schließen des Terminals oder dem Verlust der SSH-Verbindung erhalten.

Beim Fortsetzen wird mehr als nur der Text wiederhergestellt. Der vollständige Gesprächsverlauf wird zusammen mit dem von der Session verwendeten Modell und dem Subagent wiederhergestellt, mit dem sie gestartet wurde, falls Sie --agent verwendet haben. Auch der Berechtigungsmodus wird wiederhergestellt. Aus Sicherheitsgründen gibt es jedoch Ausnahmen: Der Planmodus und der Modus zum Umgehen von Berechtigungen werden niemals wiederhergestellt. Eine Session, die sich in einem dieser Modi befand, wird daher in dem Modus fortgesetzt, in dem eine neue Session starten würde.

Einige Einstellungen werden nicht wiederhergestellt, weil es sich dabei um Flags beim Start und nicht um gespeicherten Zustand handelt. Mit --add-dir hinzugefügte Verzeichnisse sowie Optionen wie --mcp-config, --settings und --plugin-dir müssen beim Fortsetzen erneut angegeben werden. Einstellungsdateien wie settings.json werden beim Start erneut eingelesen. Alles, was in diesen Dateien definiert ist, muss daher nicht erneut angegeben werden.

Warum der Sitzungsverlauf auf einem VPS wichtiger ist

Hier ist der Punkt, der viele überrascht. Das Transkript wird auf dem Rechner gespeichert, auf dem der Agent ausgeführt wurde. Es befindet sich nicht in Ihrem Konto und wird nicht mit einer Cloud synchronisiert. Es ist eine Datei auf der Festplatte dieses Rechners.

Eine Sitzung, die Sie in einem tmux-Fenster auf Ihrem VPS zurückgelassen haben, erscheint daher nicht in der Auswahl auf Ihrem Laptop. Eine Sitzung von Ihrem Laptop erscheint umgekehrt nicht auf dem VPS. Zwischen den Rechnern wird nichts übertragen. Wenn Sie, wie die meisten Benutzer, Claude Code in tmux auf einem VPS ausführen, sammelt sich Ihr eigentlicher Gesprächsverlauf auf dem Server an. Die lokal angezeigte Auswahl enthält dann einen anderen und deutlich kleineren Satz von Sitzungen.

Diese Trennung gilt auch für die verschiedenen Schnittstellen. Die Desktop-App und die VS Code-Erweiterung verwalten jeweils ihren eigenen Sitzungsverlauf. Keine von beiden verwendet den Verlauf der CLI. Claude Code im Web verwaltet ebenfalls einen eigenen Verlauf.

Auf einem einzelnen Rechner sucht claude --resume <session-id> umfassender, als Sie vielleicht erwarten. Zuerst wird im aktuellen Projektverzeichnis und in dessen git worktrees gesucht. Anschließend wird jedes andere Projekt auf diesem Rechner durchsucht. Die entscheidende Einschränkung lautet „auf diesem Rechner“. Eine Sitzungs-ID von einem anderen Host führt zu keinem Treffer. Claude Code meldet dies mit No conversation found with session ID: <session-id>.

Wo speichert Claude Code den Sitzungsverlauf

Standardmäßig liegen die Transkripte im Konfigurationsverzeichnis von Claude Code unter einem Pfad der Form ~/.claude/projects/<project>/<session-id>.jsonl.

<project> ist der Pfad Ihres Arbeitsverzeichnisses, wobei jedes nicht alphanumerische Zeichen durch einen Bindestrich ersetzt wird. Eine Sitzung, die in /home/deploy/apps/api gestartet wird, wird daher in einem Verzeichnis mit dem Namen -home-deploy-apps-api gespeichert. Wenn dieser umgewandelte Name länger als 200 Zeichen wäre, kürzt Claude Code ihn und hängt einen Hash des vollständigen Pfads an. Dadurch bleibt der Verzeichnisname innerhalb der Dateisystemgrenzen.

Die Datei verwendet das JSONL-Format: Jede Zeile enthält ein JSON-Objekt. Dabei handelt es sich um eine Nachricht, eine Tool-Verwendung oder einen Metadateneintrag. Die Datei enthält lesbaren Text und kann problemlos gelesen werden.

Einen Parser dafür zu schreiben, ist jedoch nicht empfehlenswert. Das Format der Einträge ist intern in Claude Code und ändert sich zwischen Versionen. Ein Skript, das diese Dateien direkt liest, kann daher nach jedem Update nicht mehr funktionieren. Die eigene Dokumentation von Anthropic empfiehlt stattdessen /export oder die dokumentierten Skriptschnittstellen. Genau aus diesem Grund ist das sinnvoll.

Zwei Einstellungen ändern den Speicherort und die Aufbewahrungsdauer. CLAUDE_CONFIG_DIR verschiebt das gesamte Konfigurationsverzeichnis. Damit können Sie Transkripte auf einem separaten oder verschlüsselten Volume speichern. cleanupPeriodDays in settings.json legt fest, wie lange sie aufbewahrt werden. Der Standardwert beträgt 30 Tage, der Mindestwert 1.

Was tatsächlich in diesen Transkriptdateien steht

Jedes Tool-Ergebnis wird aufgezeichnet. Ein Transkript enthält daher den Inhalt der Dateien, die Claude gelesen hat, sowie die Ausgabe der Befehle, die Claude ausgeführt hat. Die Datennutzungsseite von Anthropic formuliert es eindeutig: Claude Code speichert Sitzungstranskripte lokal als Klartext unter ~/.claude/projects/.

Überlegen Sie, was das auf einem Server bedeutet. Wenn Claude eine .env-Datei gelesen hat, um herauszufinden, warum ein Dienst nicht starten konnte, steht der Inhalt dieser Datei nun in einer JSONL-Datei in Ihrem Home-Verzeichnis. Wenn ein Befehl eine Verbindungszeichenfolge ausgegeben hat, steht auch diese darin. Es ist nichts nach außen gelangt. Das Transkript hat lediglich aufgezeichnet, was geschehen ist. Genau dafür ist es gedacht. Deshalb gehört es in Ihr Bedrohungsmodell.

  • Backups: Ein unverschlüsseltes Backup von /home oder /root kopiert Ihre Transkripte an den Speicherort der Backups. Fügen Sie einen Ausschluss hinzu. Andernfalls liegen Kopien Ihrer Eingaben und Dateiinhalte auch im Backup-Speicher.
  • Snapshots und Images: Ein aus beliebigem Grund erstellter VPS-Snapshot enthält das gesamte Verzeichnis. Das gilt auch für ein Image, das Sie zum Erstellen eines zweiten Servers klonen.
  • Andere Accounts auf dem System: Prüfen Sie die Zugriffsrechte selbst mit ls -ld ~/.claude ~/.claude/projects, statt von restriktiven Rechten auszugehen.
  • Bewusste Uploads: Der Befehl /feedback sendet den Gesprächsverlauf absichtlich an Anthropic. Auch /bug und /share übertragen Daten über denselben Weg. Das sind Aktionen, die Sie selbst auswählen. Machen Sie sich daher vor der Bestätigung klar, worin Sie einwilligen.

Wenn Sie überhaupt kein Transkript speichern möchten, unterdrückt CLAUDE_CODE_SKIP_PROMPT_HISTORY das Schreiben von Transkripten. --no-session-persistence unterdrückt es für einen einzelnen nicht interaktiven claude -p-Lauf. Machen Sie sich die Folgen klar, bevor Sie eine der beiden Optionen setzen. Resume verwendet Transkripte zum Lesen des bisherigen Verlaufs. Ohne Transkript ist daher kein Resume möglich.

Wie finden Sie eine alte Unterhaltung

Öffnen Sie die Auswahl mit claude --resume oder innerhalb einer laufenden Sitzung mit /resume. Jede Zeile zeigt den Sitzungsnamen, falls Sie einen festgelegt haben, andernfalls einen generierten Titel sowie die Zeit seit der letzten Aktivität, den Git-Branch und die Dateigröße.

Die Auswahl unterstützt die Suche. Drücken Sie / oder beginnen Sie einfach mit der Eingabe, um die Liste zu filtern. Die wichtigsten Tastenkürzel erweitern den Suchbereich: Ctrl+A zeigt Sitzungen aus allen Projekten auf diesem Rechner, Ctrl+W zeigt alle Worktrees des aktuellen Repositorys, und Ctrl+B beschränkt die Anzeige auf den aktuellen Git-Branch. Drücken Sie Space, um den Inhalt einer Sitzung vor der Auswahl in einer Vorschau anzuzeigen, und Ctrl+R, um die markierte Sitzung umzubenennen.

Mit benannten Sitzungen ist das deutlich einfacher. Starten Sie eine Sitzung mit claude -n auth-refactor oder führen Sie /rename auth-refactor während einer Sitzung aus, sobald Sie feststellen, dass sich die Unterhaltung zu einer eigenständigen Arbeitsaufgabe entwickelt hat. Eine benannte Sitzung kann anschließend direkt aus der Shell anhand ihres Namens fortgesetzt werden.

Auch eine unbenannte Sitzung erhält einen generierten Titel. Dieser wird von einer Hintergrundanfrage an ein kleines, schnelles Modell erstellt, das Ihre erste Eingabe zusammenfasst. Der Titel erleichtert die Identifizierung der Zeile in der Auswahl, ist aber kein Bezeichner zum Fortsetzen der Sitzung. claude --resume <name> berücksichtigt nur Namen, die Sie selbst festgelegt haben.

Transkripte durchsuchen, um die richtige Sitzung zu finden

Manchmal erinnern Sie sich an eine bestimmte Formulierung und an sonst nichts. Die Transkripte sind Textdateien. Sie können sie daher durchsuchen.

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

Dieser Befehl gibt die Pfade der passenden Transkripte aus. Der Dateiname ohne die Erweiterung .jsonl ist die Sitzungs-ID, und claude --resume <session-id> akzeptiert diese ID. Ermitteln Sie mit grep, welche Sitzung Sie benötigen. Setzen Sie sie anschließend fort oder exportieren Sie sie, um den Inhalt tatsächlich zu lesen.

Zwei wichtige Einschränkungen. Der Inhalt ist JSON-escaped. Eine Formulierung mit Anführungszeichen oder eine Formulierung, die über einen Zeilenumbruch verteilt wurde, wird daher möglicherweise nicht als Literalzeichenfolge gefunden. Ein Treffer innerhalb eines Tool-Ergebnisses bedeutet außerdem, dass Claude diesen Text gesehen hat. Er bedeutet nicht, dass ihn jemand eingegeben hat.

Lesen und Exportieren einer Konversation

/export gibt die aktuelle Konversation als Klartext aus. Nachrichten und Tool-Ausgaben werden dabei lesbar statt als JSON dargestellt. Ohne Argument wird ein Menü geöffnet, in dem Sie die Zwischenablage oder eine Datei auswählen können. Mit einem Dateinamen schreibt /export handover.txt direkt in diesen Pfad. Das ist der richtige Weg, um eine Konversation von einem Server auf Ihren Laptop zu übertragen oder an ein Ticket anzuhängen.

Verwenden Sie für automatisierte Abläufe die dafür vorgesehenen stabilen Schnittstellen. Hooks und Befehle für die Statuszeile erhalten ein Feld transcript_path als Eingabe. Ein SessionEnd-Hook kann daher ein Transkript archivieren, wenn eine Sitzung endet. Sie können einer gespeicherten Sitzung auch eine Frage stellen, ohne sie zu öffnen:

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

Damit wird ein Folge-Prompt an die alte Konversation gesendet und strukturiertes JSON zurückgegeben. Das ist eine wesentlich bessere Grundlage, als ein JSONL-Format zu verarbeiten, das sich im nächsten Release ändern kann.

Wenn ein Neustart besser ist als das Fortsetzen

Beim Fortsetzen wird der gesamte Verlauf wiederhergestellt. Genau diesen vollständigen Verlauf enthält dann jede spätere Anfrage. Eine Unterhaltung, die gestern vier Stunden lief, ist heute teuer fortzusetzen. Wie sich der Token-Verbrauch über eine lange Sitzung summiert erklärt, wo diese Kosten tatsächlich entstehen.

Claude Code bietet manchmal einen Mittelweg an. Bei einem Pro- oder Max-Tarif öffnet das Fortsetzen einer seit etwa einer Stunde inaktiven Sitzung mit mehr als 100,000 Tokens vor Ihrer ersten Nachricht einen Dialog. Der Prompt-Cache ist zu diesem Zeitpunkt abgelaufen. Daher verarbeitet die nächste Anfrage den vollständigen Verlauf einmal neu, unabhängig davon, welche Option Sie auswählen.

  • Resume from summary führt sofort eine Komprimierung durch. Spätere Anfragen enthalten dann eine Zusammenfassung statt des vollständigen Verlaufs. Die Kosten pro Anfrage sinken, aber alles, was die Zusammenfassung nicht übernimmt, ist anschließend nicht mehr verfügbar.
  • Resume full session as-is lädt die Unterhaltung unverändert. Dabei bleibt jedes Detail erhalten, während die Kosten pro Anfrage mit der Größe der Unterhaltung steigen.

Eine dritte Option setzt die Sitzung vollständig fort und verhindert, dass der Dialog bei späteren Fortsetzungen erneut erscheint.

Die Entscheidung ist einfacher, als sie zunächst wirkt. Setzen Sie die Sitzung fort, wenn das, was Sie als Nächstes eingeben, vom bisherigen Gespräch abhängt. Starten Sie eine neue Sitzung, wenn das nicht der Fall ist. Drift lässt sich leicht erkennen, wenn Sie darauf achten: Claude bezieht sich auf eine Datei, die Sie vor einer Stunde gelöscht haben, oder diskutiert eine Entscheidung erneut, die Sie am Anfang der Sitzung getroffen haben. Das ist veralteter Kontext. Wenn Sie ihn weiterführen, kostet das gleichzeitig Tokens und Genauigkeit.

Wenn der nützliche Teil einer alten Unterhaltung aus einer Entscheidung oder einer Tatsache besteht, die Sie später erneut benötigen, sollten Sie sich nicht darauf verlassen, dass das Fortsetzen sie übernimmt. Schreiben Sie sie an einen Ort, den jede Sitzung sehen kann. Genau dafür sind die Speicherdateien von Claude Code gedacht.

/branch ist in diesem Zusammenhang ebenfalls nützlich. Damit wird die Unterhaltung bis zum aktuellen Punkt kopiert, und Sie wechseln in die Kopie. Das Original bleibt unverändert und weiterhin in der Auswahl verfügbar. Verwenden Sie diese Funktion, um einen zweiten Ansatz auszuprobieren, ohne den ersten zu verlieren.

Wie sich Resume von Komprimierung und Memory unterscheidet

Diese Funktionen werden ständig verwechselt, obwohl sie unterschiedliche Probleme lösen.

Bei Resume geht es darum, eine Konversation überhaupt wiederherzustellen, nachdem Sie sie beendet, das System neu gestartet oder zu einer anderen Aufgabe gewechselt haben. Die Komprimierung betrifft das Kontextfenster innerhalb einer laufenden Konversation: /compact ersetzt den von Claude mitgeführten Kontext durch eine Zusammenfassung, sodass spätere Anfragen weniger Tokens senden. Wenn Ihr Problem darin besteht, dass das Kontextfenster voll ist, ist die Komprimierung das geeignete Werkzeug. Das Verwalten des Claude-Code-Kontextfensters behandelt dieses Thema ausführlich.

Memory ist wiederum etwas anderes. CLAUDE.md-Dateien und der automatische Memory enthalten Anweisungen und Fakten, die zu Beginn jeder Sitzung geladen werden. Daher handelt es sich dabei nicht um eine Konversation, zu der Sie zurückkehren. Sie halten darin Informationen fest, damit Sie zu einer Konversation nie zurückkehren müssen.

Wenn Sie zwei gleichzeitig laufende und miteinander koordinierte Konversationen benötigen, ist dafür ein separates Verfahren vorgesehen. Claude-Code-Sitzungen können einander Nachrichten senden, solange beide aktiv sind. Das ist ein anderes Problem, als die Sitzung vom Vortag wieder vom Datenträger zu laden.

FAQ

Wo speichert Claude Code meinen Sitzungsverlauf?

Standardmäßig wird er in Ihrem Konfigurationsverzeichnis unter ~/.claude/projects/<project>/<session-id>.jsonl gespeichert. Dabei ist <project> der Pfad des Arbeitsverzeichnisses, in dem nicht alphanumerische Zeichen durch Bindestriche ersetzt wurden. Jede Datei verwendet das JSONL-Format: Eine JSON-Struktur pro Zeile für eine Nachricht, eine Tool-Verwendung oder einen Metadateneintrag. Mit CLAUDE_CONFIG_DIR legen Sie ein anderes Konfigurationsverzeichnis fest. cleanupPeriodDays in settings.json bestimmt, wie lange Transkripte aufbewahrt werden. Standardmäßig sind es 30 Tage, mindestens jedoch 1 Tag.

Warum wird meine VPS-Sitzung auf meinem Laptop nicht in der Auswahlliste angezeigt?

Weil Transkripte auf dem Datenträger des Rechners gespeichert werden, auf dem der Agent ausgeführt wurde. Zwischen den Rechnern findet keine Synchronisierung statt. Eine Unterhaltung, die Sie in tmux auf Ihrer VPS geführt haben, existiert nur auf der VPS. Setzen Sie sie dort über SSH fort. Alternativ können Sie darin /export ausführen und die Textdatei kopieren, wenn Sie eine lokale Aufzeichnung benötigen.

Kann ich eine Sitzung fortsetzen, die ich in einem anderen Verzeichnis gestartet habe?

Ja, wenn Ihnen ihre Sitzungs-ID vorliegt. claude --resume <session-id> sucht zuerst im aktuellen Projektverzeichnis und in dessen Git-Worktrees. Danach wird jedes andere Projekt auf demselben Rechner durchsucht. In der Auswahlliste erweitert Ctrl+A die Liste auf jedes Projekt auf dem Rechner. Ctrl+W erweitert sie auf jeden Worktree des aktuellen Repositorys. Wenn keine Übereinstimmung gefunden wird, meldet Claude Code No conversation found with session ID: <session-id>.

Sollte ich eine alte Sitzung fortsetzen oder eine neue starten?

Setzen Sie die Sitzung fort, wenn Ihre nächste Nachricht von den bisherigen Inhalten dieser Unterhaltung abhängt. Starten Sie eine neue Sitzung, wenn das nicht der Fall ist. Beim Fortsetzen wird der gesamte Verlauf geladen, sodass jede spätere Anfrage diesen Verlauf mitführt. Achten Sie auf veralteten Kontext: Wenn eine Sitzung weiterhin auf Dateien verweist, die Sie bereits gelöscht haben, enthält sie überholte Informationen. Das kostet bei jeder weiteren Interaktion Tokens und beeinträchtigt die Genauigkeit.

Kann ich verhindern, dass Claude Code Transkripte auf dem Datenträger speichert?

Ja. CLAUDE_CODE_SKIP_PROMPT_HISTORY unterdrückt das Schreiben von Transkripten. --no-session-persistence unterdrückt es für einen einzelnen nicht interaktiven claude -p-Lauf. Berücksichtigen Sie zunächst die Auswirkungen. Denn resume liest die Transkripte. Wenn Sie das Schreiben deaktivieren, haben --continue und --resume nichts zu laden. Wenn es Ihnen nicht darum geht, dass die Dateien überhaupt existieren, sondern nur um ihren Speicherort, richten Sie CLAUDE_CONFIG_DIR auf ein verschlüsseltes Volume. Senken Sie stattdessen cleanupPeriodDays.