Auf einen Blick (Kurzfassung):

Das Grundprinzip: jede Nachricht schickt alles mit

Claude Code ist zustandslos gegenüber der API. Bei jedem Turn wird der komplette Kontext neu gesendet: System-Prompt, Projekt-Kontext (CLAUDE.md, Memory), die gesamte bisherige Konversation inklusive aller Datei-Inhalte und Tool-Outputs — plus deine neue Nachricht.

Daraus folgt die wichtigste Konsequenz: eine Einzeiler-Frage in einer Session, die seit sechs Stunden offen ist, kostet nicht einen Einzeiler, sondern die ganze Session. Input-Tokens dominieren deshalb bei Claude Code fast immer über Output-Tokens.

Erst messen. /usage zeigt den Session-Block mit Input, Output, Cache-Read und Cache-Write. Auf Pro/Max/Team/Enterprise zeigt es zusätzlich eine Aufschlüsselung nach Skills, Subagents, Plugins und einzelnen MCP-Servern — jeweils als Prozentanteil. Verhaltensmuster wie long context oder cache misses werden markiert, sobald sie 10 % oder mehr der jüngsten Nutzung ausmachen. d / w schaltet zwischen 24 Stunden und 7 Tagen um.

Hebel 1: Prompt Caching nicht kaputt machen

Prompt Caching läuft in Claude Code automatisch und ist der mit Abstand größte Kostenfaktor, den man versehentlich zerstören kann. Die Ökonomie:

VorgangPreis relativ zu normalem Input
Cache-Read≈ 10 %
Cache-Write, 5-Minuten-TTL1,25 ×
Cache-Write, 1-Stunden-TTL2 ×

Der Cache ist ein Präfix-Match: die API vergleicht den Anfang jedes Requests byte-genau mit dem, was sie zuletzt verarbeitet hat. Eine Änderung an irgendeiner Stelle im Präfix macht alles danach ungültig. Es gibt kein Caching pro Datei oder pro Segment.

Claude Code sortiert den Request deshalb nach Änderungshäufigkeit:

SchichtInhaltÄndert sich bei
System-PromptKern-Instruktionen, Tool-Definitionen, Output-StyleÄnderung der geladenen Tools, Claude-Code-Upgrade
Projekt-KontextCLAUDE.md, Auto-Memory, ungescopte RulesSession-Start, /clear, /compact
KonversationNachrichten, Antworten, Tool-Ergebnissejedem Turn

Was den Cache zerstört

Was den Cache erhält

Praxisregel: Modell und Effort am Anfang der Session festlegen, /compact für natürliche Pausen zwischen Aufgaben aufheben. Wer einen Weg komplett verwerfen will, nimmt /rewind statt /compact.

Cache-Lebensdauer

Auf einem Claude-Abo fordert Claude Code automatisch die 1-Stunden-TTL an — die Nutzung ist im Abo enthalten, der längere TTL kostet also nichts extra. Jeder Cache-Treffer setzt den Timer zurück. Wer Usage Credits verbraucht, fällt automatisch auf 5 Minuten zurück, weil dann pro Token abgerechnet wird. Mit API-Key oder Cloud-Provider gilt standardmäßig 5 Minuten; ENABLE_PROMPT_CACHING_1H=1 schaltet um.

Kontrolle: Die API meldet pro Response cache_creation_input_tokens und cache_read_input_tokens. Ein hohes Read-zu-Creation-Verhältnis heißt, dass Caching funktioniert. Bleibt Creation Turn für Turn hoch, ändert sich etwas im Präfix.

Hebel 2: Modell und Effort zur Aufgabe passend wählen

Sonnet erledigt die meisten Coding-Aufgaben und kostet deutlich weniger als Opus. Opus lohnt sich für schwierige Architekturentscheidungen und mehrstufiges Reasoning. Für einfache Subagent-Aufgaben lässt sich model: haiku in der Subagent-Konfiguration setzen.

Anthropics eigene Empfehlung im Blog-Artikel zu Modell und Effort ist diagnostisch statt pauschal:

Thinking-Tokens

Extended Thinking ist standardmäßig an, weil es bei Planung und Reasoning deutlich hilft. Thinking-Tokens werden zum Output-Tarif abgerechnet, nicht zum Input-Tarif — bei Opus 5 also 25 $/M — und das Standard-Budget kann je nach Modell zehntausende Tokens pro Request betragen.

Für einfachere Aufgaben:

Achtung bei Opus 5: Thinking ist dort per Default an, und thinking: disabled ist nur bis Effort-Level high erlaubt. Abschalten hat außerdem zwei bekannte Fehlermodi — Details in Artikel 5. Effort senken ist der bessere Hebel.

Hebel 3: Verbose Operationen auslagern

Tests ausführen, Doku abrufen, Logfiles verarbeiten — das erzeugt viel Output, der einmal gebraucht und danach für immer mitgeschleppt wird.

Subagents

Ein Subagent bekommt einen eigenen Kontext. Der verbose Output bleibt dort, nur eine Zusammenfassung kommt zurück. Der Parent-Cache bleibt intakt, weil Aufruf und Ergebnis nur angehängt werden.

Nutze Subagents, um zu untersuchen, wie unser Auth-System
Token-Refresh handhabt und ob es OAuth-Utilities gibt,
die ich wiederverwenden sollte.

Ein Subagent nutzt allerdings 5-Minuten-TTL, auch im Abo — die automatische 1-Stunden-TTL gilt nur für die Hauptkonversation.

Hooks als Vorfilter

Ein Hook kann Daten vorverarbeiten, bevor Claude sie sieht. Statt 10.000 Zeilen Log zu lesen, grept ein Hook nach ERROR und liefert nur die Treffer — Zehntausende Tokens werden zu Hunderten. Beispiel: ein PreToolUse-Hook, der Test-Kommandos umschreibt, sodass nur Failures durchkommen.

CLI-Tools statt MCP

MCP-Tool-Definitionen sind standardmäßig deferred — nur die Namen landen im Kontext, das Schema erst bei Bedarf. Trotzdem sind gh, aws, gcloud oder sentry-cli weiterhin effizienter, weil sie gar keine Auflistung erzeugen. /mcp zeigt die konfigurierten Server; nicht genutzte abschalten.

Hebel 4: Weniger Rework produzieren

Die teuersten Tokens sind die für den falschen Weg.

Hebel 5: teure Betriebsarten kennen

SacheKostenwirkung
Agent Teams≈ 7 × mehr Tokens als eine normale Session, wenn Teammates im Plan Mode laufen — jeder Teammate hat ein eigenes Kontextfenster. Standardmäßig deaktiviert (CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1).
Scheduled TasksFeuern in ihrem Intervall, auch wenn die Session idle ist — und senden dabei den vollen Kontext.
Aktive TeammatesVerbrauchen Tokens, bis sie beendet werden oder die Session endet.
/compactLiest die Konversation, die es zusammenfasst — ist also selbst ein großer Request. /clear kostet nichts.
HintergrundprozesseZusammenfassungen für claude --resume, Statusabfragen: typischerweise unter 0,04 $ pro Session.

Checkliste

  1. Modell und Effort zu Beginn setzen, danach nicht mehr wechseln
  2. /clear zwischen unzusammenhängenden Aufgaben — kostet nichts, spart alles
  3. CLAUDE.md unter ~200 Zeilen; Spezialwissen in Skills auslagern
  4. Verbose Operationen an Subagents delegieren, Log-Output per Hook vorfiltern
  5. CLI-Tools statt MCP-Server, ungenutzte Server per /mcp abschalten
  6. Effort senken statt Thinking abschalten
  7. Plan Mode nur bei echter Unsicherheit
  8. /rewind statt /compact, wenn ein Weg verworfen wird
  9. /usage regelmäßig lesen — es benennt die Ursache selbst