Deepseek ArtifactsDeepseek Artifacts
Komprimierungs-Rettungsleitfaden

Claude Code komprimiert ständig: die Schleife stoppen und die Arbeit retten

Warum Claude Code deine Konversation immer wieder komprimiert — wie der Autocompact-Schwellenwert, die 2.1.299er-Idle-Komprimierung und Gateway-Abweichungen zusammenspielen — dazu Wiederherstellung über resume und Checkpoints, der /config-Schalter Idle compaction, CLAUDE_CODE_IDLE_COMPACT_MIN_TOKENS und die Fixes aus 2.1.301 und 2.1.309, an echten Bildschirmaufzeichnungen.

Ständige Komprimierung auf einen Blick

  • Komprimierung ist die automatische Zusammenfassung, die Kontextraum freimacht — Claude Code komprimiert, wenn die Konversation sich dem Fenster des Modells nähert (200K bei Sonnet 4.6/Opus 4.6 ohne extended context, standardmäßig etwa 967K bei Modellen mit 1M-Fenster).
  • „Komprimiert ständig“ hat drei übliche Ursachen: ein tatsächlich volles Fenster, die in 2.1.299 eingeführte Idle-Komprimierung (eine Konversation mit 200K+ Tokens, die etwa 54 Minuten idle steht, wird komprimiert, bevor der einstündige Prompt-Cache abläuft) oder eine Gateway-/Modellnamen-Abweichung, die 2.1.301 behoben hat.
  • Nichts Gesendetes geht verloren: Die Zusammenfassung behält wichtigen Code und Entscheidungen, resume plus Checkpoints holen den Rest zurück — die Komprimierungszeile in einer fortgesetzten Session sagt dir, wo frühere Nachrichten gespeichert sind (2.1.301).
  • Justieren statt ankämpfen: /autocompact oder der autoCompactWindow-Schlüssel ändert das Fenster, CLAUDE_CODE_AUTO_COMPACT_WINDOW überschreibt alles, und "idleCompaction": false (oder die /config-Zeile Idle compaction) schaltet die Idle-Komprimierung ab.
  • Zwei versionsspezifische Schleifen haben Fixes bekommen: wiederholte Komprimierung hinter einem LLM-Gateway, das ein anderes Modell nennt (2.1.301), und wiederholte Komprimierung nach dem Lesen von Dateien unter einer sehr großen nested CLAUDE.md (2.1.309) — erst updaten, dann justieren.

Claude Code: CLAUDE.md, Memory & Session Management

KanalDavid Mahler22:39

Öffnen

Stop Losing Work When You Compact Claude Code

KanalThe Art of Vibe Coding7:28

Öffnen

Model configuration — Claude Code documentation

Dokucode.claude.com

Öffnen

Die Mechanik-Frames stammen aus David Mahlers Session-Management-Walkthrough — animierte Kontextdiagramme, das /context-Verbrauchsraster mit seiner Autocompact-buffer-Zeile und das Komprimierungszusammenfassungs-Diagramm. Schwellenwert- und Handoff-Folien kommen aus dem animierten Erklärvideo von The Art of Vibe Coding. Fakten sind gegen das Claude-Code-CHANGELOG (2.1.299, 2.1.301, 2.1.302, 2.1.309) und die offizielle Modell-Konfigurations-Doku abgeglichen. Ein Talking-Head-Video und ein Spinner-Frame, den unser Reduce-Token-Guide bereits nutzt, wurden als Frame-Quellen aussortiert.

Die Rechte an den Videoframes bleiben bei ihren Urhebern; sie sind hier als Schritt-für-Schritt-Dokumentation mit Quellenangabe und Deep-Links eingebettet.

Claude Code beim ständigen Komprimieren stoppen

Schritt 1 — Verstehen, was die Komprimierung tut

  1. 1

    Wissen, was Komprimierung wirklich ist

    Komprimierung ist ein automatischer Prozess, der Kontextraum freimacht, indem er ältere Nachrichten zusammenfasst und dabei wichtigen Code und Entscheidungen bewahrt. Claude Code komprimiert, wenn die Konversation sich dem Fenster des Modells nähert — an der 200K-Grenze bei Sonnet 4.6 und Opus 4.6 ohne extended context, oder standardmäßig bei etwa 967K Tokens bei Modellen mit nativem 1M-Fenster. Einmal „Compacting conversation…“ in einer langen Session zu sehen bedeutet: Das System arbeitet wie vorgesehen, kein Fehler.

    Compaction slide from a Claude Code session management tutorial defining compaction as an automatic process that frees up context space by summarizing older messages while preserving key code and decisions
    Die Komprimierungs-Definitionsfolie: ein automatischer Prozess, der ältere Nachrichten zusammenfasst und dabei wichtigen Code und Entscheidungen bewahrt.Ansehen bei 10:40
  2. 2

    Sehen, was dein Fenster füllt

    Führe /context aus, bevor du etwas änderst. Er zeigt das Modell, die Token-Zahl gegen das Fenster und eine Aufschlüsselung pro Kategorie — system prompt, system tools, MCP tools, memory files, Messages, freier Platz und der reservierte Autocompact buffer. In der aufgezeichneten Session belegte Messages allein 129.9k von 149.1k Tokens (65 %), während 33k (16.5 %) für den Buffer reserviert waren — deshalb kam die Komprimierung: Die Konversation selbst, kein Defekt, verbrauchte das Fenster.

    Claude Code /context usage output showing Sonnet 4.6 at 149.1k of 200k tokens with Messages at 65 percent and the reserved Autocompact buffer of 33k tokens at 16.5 percent
    Das /context-Verbrauchsraster bei 75 %: Messages bei 129.9k Tokens, unten abgehoben der 33k-Autocompact buffer (16.5 %).Ansehen bei 10:20
  3. 3

    Verstehen, wie sich eine Aufbläh-Schleife anfühlt

    Wenn lange Ausgaben, große Datei-Lesevorgänge oder fette Tool-Ergebnisse sich stapeln, verdrängt der Messages-Block alles andere — Skill-Beschreibungen, MCP tools und gespeicherte Instruktionen werden gedrückt, bevor du es merkst. Das ist der Zustand, in dem jeder weitere Austausch einen weiteren Komprimierungszyklus auslöst. Zeigt /context ein dominantes Messages, während die nützlichen Instruktionzeilen schrumpfen, hilft nur, das zu schlanken, was du der Session zufütterst — nicht bloß die Schwellenwerte neu zu justieren.

    Bloated context diagram from a Claude Code tutorial showing a Messages block grown so large it crowds out Skill Descriptions, MCP tools and remembered instructions before compaction
    Das Diagramm zum aufgeblähten Kontext: ein Messages-Block, so groß geworden, dass er Skill-Beschreibungen, MCP tools und gespeicherte Instruktionen verdrängt.Ansehen bei 11:26

Schritt 2 — Arbeit wiederherstellen und das Fenster zurücksetzen

  1. 4

    Wiederherstellen: Die Zusammenfassung behält Entscheidungen, resume behält die Historie

    Nichts Gesendetes verschwindet. Die Komprimierung macht aus dem Messages-Block eine Conversation Summary, während die CLAUDE.md- und Auto-Memory-Zeilen bleiben, und Claude Codes Checkpoints plus claude --resume / /resume holen den Rest zurück. Seit 2.1.301 verrät die Komprimierungszeile in einer fortgesetzten Session, wo frühere Nachrichten gespeichert sind, statt Historie anzubieten, die sie nicht laden kann. Hat ein Compact Arbeit unterbrochen, die dir wichtig war: Session fortsetzen und die Zusammenfassung lesen, bevor du irgendwas neu erklärst.

    Compaction before and after diagram converting a large Messages block into a compact Conversation Summary while red-boxed CLAUDE.md and Auto Memory rows stay preserved in the context window
    Das Vorher-nachher-Diagramm der Komprimierung: Messages werden zur Conversation Summary, während die rot umrahmten CLAUDE.md- und Auto-Memory-Zeilen erhalten bleiben.Ansehen bei 7:56
  2. 5

    Vor einem großen Compact die Arbeit auf die Platte schreiben

    Bei Sessions, deren Kontext du nicht verlieren darfst, überbrücke den Reset selbst: Lass Claude Code ein Handoff-Dokument erstellen (oder nutze einen Handoff-Skill wie /handoff-doc), das die ganze Session liest — jede Entscheidung, jede angefasste Datei, jedes offene Ende — und es in ein einziges strukturiertes HANDOFF.md auf der Platte verdichtet. Nach der Komprimierung oder in einer frischen Session bringt ein Verweis im nächsten Prompt auf diese Datei die Richtung schneller zurück als die Zusammenfassung allein.

    Handoff doc flow slide showing the /handoff-doc skill reading a whole Claude Code session and distilling every decision, file touched and loose end into one structured HANDOFF.md on disk
    Der Handoff-Ablauf: Der /handoff-doc-Skill liest die ganze Session zurück — jede Entscheidung, jede angefasste Datei, jedes offene Ende — in ein einziges strukturiertes HANDOFF.md.Ansehen bei 1:00
  3. 6

    Das Autocompact-Fenster justieren statt zu fürchten

    Der Auslösepunkt ist einstellbar. /autocompact <value> setzt ihn für das aktuelle Modell und speichert ihn in den Nutzereinstellungen; der autoCompactWindow-Schlüssel (zum Beispiel "autoCompactWindow": 200000 in ~/.claude/settings.json) gilt für jedes Modell; --autocompact überschreibt für einen einzigen Start; und die Umgebungsvariable CLAUDE_CODE_AUTO_COMPACT_WINDOW überschreibt alles, mit 100,000–1,000,000 Tokens als zulässigem Bereich (ab 2.1.304 darfst du 200k oder 1M schreiben). Werte werden am realen Fenster des Modells gekappt, und /autocompact auto kehrt zum justierten Standard zurück.

    Trigger threshold slide explaining that 20 percent of a 1M token Opus session equals roughly 200,000 tokens or an hour of real work before Claude Code compacts
    Die Schwellenwert-Rechnung: 20 Prozent einer 1M-Token-Opus-Session sind rund 200,000 Tokens — etwa eine Stunde echter Arbeit.Ansehen bei 2:12

Schritt 3 — Idle-Komprimierung: das 2.1.299er-Verhalten

  1. 7

    Idle-Komprimierung erkennen (Claude Code 2.1.299)

    Seit 2.1.299 gibt es einen zweiten Auslöser, der mit einem vollen Fenster nichts zu tun hat: die Idle-Komprimierung. Eine Konversation mit 200K+ Tokens, die du etwa 54 Minuten liegen lässt, wird komprimiert, bevor der einstündige Prompt-Cache abläuft — damit deine nächste Nachricht nicht das gesamte Transkript zum Vollpreis neu verarbeitet. Komprimiert Claude Code, während du weg warst — der Hinweis erscheint beim Zurückkommen im Transkript — ist das das Feature, keine Schleife.

  2. 8

    Idle-Komprimierung ausschalten oder ihre Untergrenze senken

    Zwei Schalter, beide im 2.1.299er-Changelog dokumentiert: "idleCompaction": false in der settings.json schaltet sie ganz ab, oder CLAUDE_CODE_IDLE_COMPACT_MIN_TOKENS ändert die 200K-Token-Untergrenze, unter der die Idle-Komprimierung nie auslöst (beides braucht v2.1.290 oder neuer). Ab 2.1.302 gibt es außerdem eine Idle-compaction-Zeile in /config, und die Hinweise nach einer Idle-Komprimierung sagen inzwischen, wie man sie abstellt. Der Auslöser braucht 200K+ Tokens für ~54 Minuten idle — kurze Sessions werden nie angefasst.

  3. 9

    Entscheiden, ob du sie wirklich abschalten willst

    Die Idle-Komprimierung tauscht eine Kostenart gegen eine andere. Lässt du sie an, verlierst du das exakte Transkript, wenn du nach einer Stunde zurückkommst; schaltest du sie ab, verarbeitet deine nächste Nachricht das komplette 200K+-Transkript mit abgelaufenem Cache neu — langsamer und abgerechnet zu Cache-Miss-Sätzen. Wenn deine Sessions lang sind, du aber oft weggehst, ist das Senken von CLAUDE_CODE_IDLE_COMPACT_MIN_TOKENS meist besser als das Abschalten: Der Compact passiert zu deinen Bedingungen und gegen einen kleineren Block.

Schritt 4 — Versionsspezifische Schleifen und Vorbeugung

  1. 10

    Erst updaten, dann justieren: die 2.1.301er-Gateway-Schleife

    Wenn Komprimierung bei vollem Fenster wirklich wiederholt wird, prüfe zuerst deine Version. 2.1.301 behob Konversationen, die „over and over komprimiert wurden, auf einem Modell, das du nicht gewählt hast, hinter einem LLM-Gateway, dessen Antworten ein anderes Modell nennen als das angefragte“ — die Gateway-Antworten nannten Modell X, während du Modell Y anfragtest, und jeder Turn komprimierte neu. Dasselbe Release fixierte die Komprimierungszeile fortgesetzter Sessions, die mit ctrl+o nicht geladene Historie anbot. Gateway-Nutzer auf 2.1.300 oder älter: erst updaten, dann irgendeine Einstellung anfassen.

  2. 11

    CLAUDE.md-Dateien abspecken — die 2.1.309er-nested-Datei-Schleife

    Eine weitere dokumentierte Schleife: Sessions komprimierten immer wieder, nachdem sie Dateien unter einer sehr großen nested CLAUDE.md gelesen hatten — 2.1.309 hat das behoben, und eine nested CLAUDE.md über dem Größenlimit lädt jetzt nur noch ihren Anfang. Prüfe trotzdem deine Memory-Dateien: Die nutzerbezogene CLAUDE.md lädt in allen Projekten, Projekt-Dateien im Arbeitsverzeichnis, und On-demand-Dateien in Unterverzeichnissen laden, wenn Claude sie besucht. Alles, was keine universelle Instruktion ist, wandert aus den immer geladenen Dateien raus.

    Claude Code memory scopes diagram listing user-level CLAUDE.md loaded for all projects, project-scope CLAUDE.md in the working directory and on-demand CLAUDE.md files visited by Claude
    Das Diagramm der Memory-Scopes: nutzerbezogene CLAUDE.md für alle Projekte, Projekt-Dateien im Arbeitsverzeichnis, und On-demand-Dateien, die Claude beim Besuchen lädt.Ansehen bei 4:44
  3. 12

    Die nächste Schleife verhindern

    Drei Gewohnheiten machen Komprimierung zum Nichtereignis. Halte CLAUDE.md-Dateien schlank, damit Instruktionen jeden Compact überstehen. Lass die Komprimierung am Schwellenwert passieren, statt sie aufzuschieben — die Antwortqualität leidet, je voller das Fenster wird, und eine Zusammenfassung bei 20 % Rest ist besser als eine bei 95 %. Und lagere Zustand, der dir wichtig ist, in Dateien aus (Handoff-Dokumente, Pläne, Checklisten), damit jeder Reset von etwas Besserem als einer Zusammenfassung startet.

    Why wait slide with a red trigger bar showing Claude Code response quality degrading when a compaction at the 20 percent threshold is postponed past the autocompact point
    Die Warum-warten-Folie: Die Antwortqualität leidet, wenn der Komprimierungsschwellenwert überschritten ist und der Compact aufgeschoben wird.Ansehen bei 2:20

Idle-Komprimierung, 2.1.299 im Detail

Die Idle-Komprimierung ist der jüngste Grund, warum eine Session „ständig komprimiert“ — und der, der am leichtesten als Bug verlesen wird. Das 2.1.299er-Changelog führte sie im Terminal mit expliziter Begründung ein, und 2.1.301 plus 2.1.302 haben die Steuerung drumherum verfeinert. Die Fakten, gegen das Changelog geprüft:

  • 1Der Auslöser: eine Konversation mit 200K+ Tokens, etwa 54 Minuten idle — so getaktet, dass der Compact landet, bevor der einstündige Prompt-Cache abläuft.
  • 2Die Begründung: „so your next message doesn't reprocess it all“ — ein nicht komprimiertes Transkript von 200K+ Tokens nach Cache-Ablauf wird Token für Token zu Cache-Miss-Sätzen neu verarbeitet.
  • 3Der Abschalter: "idleCompaction": false in der settings.json — oder ab 2.1.302 die Idle-compaction-Zeile in /config.
  • 4Die Stellschraube: CLAUDE_CODE_IDLE_COMPACT_MIN_TOKENS ändert die 200K-Token-Untergrenze; Konversationen darunter werden nie idle-komprimiert.
  • 5Die Versionsuntergrenze: Umgebungsvariable und Einstellung brauchen beide Claude Code v2.1.290 oder neuer — in älteren Builds existiert das Feature schlicht nicht, weshalb es wie eine plötzliche Verhaltensänderung nach einem Update wirken kann.
  • 6Die Leitplanken: kurze Sessions werden nie angefasst, der Hinweis erscheint beim Zurückkommen im Transkript, und seit 2.1.302 sagt der Hinweis selbst, wie man das Feature abstellt.

Wenn du Sessions im Team teilst, denk daran: Die Einstellung gilt pro Maschine. "idleCompaction": false in deinen Nutzereinstellungen reist nicht mit dem Repo — die idle Session eines Teamkollegen kann komprimiert werden, obwohl deine es nie wird. Für geteilte Langzeit-Session ist die berechenbare Kombination eine gesenkte CLAUDE_CODE_IDLE_COMPACT_MIN_TOKENS plus ein Handoff-Dokument, geschrieben bevor irgendjemand weggeht.

Komprimierungs-FAQ

Weiter erkunden