Claude Code Token-Verschwendung beheben: Deaktiviere Attribution-Header für bessere Cache-Treffer

Claude Code verschwendet seit Version 2.1.69 bei jeder neuen Sitzung Tokens aufgrund eines Abrechnungszuordnungs-Headers, der das Prompt-Caching unterbricht. Das Problem ist in mehreren GitHub-Issues (#40652, #34629, #40524) dokumentiert, ohne dass es bis zur Veröffentlichung dieser Quelle eine offizielle Antwort von Anthropic gab.
Was passiert
Seit v2.1.69 fügt Claude Code eine Abrechnungszuordnungs-Zeichenkette in den ersten Block Ihres System-Prompts ein: x-anthropic-billing-header: cc_version=2.1.88.a3f; cc_entrypoint=cli; cch=00000;
Der Teil .a3f ist ein 3-stelliger Hash, der aus Ihrer ersten Nachricht in jeder Konversation mit dieser Funktion berechnet wird:
function computeHash(firstUserMessage, version) {
const chars = [4, 7, 20].map(i => firstUserMessage[i] || "0").join("");
return sha256("59cf53e54c78" + chars + version).slice(0, 3);
}Verschiedene Konversationen mit unterschiedlichen ersten Nachrichten generieren jedes Mal verschiedene Hashes.
Warum dies das Caching unterbricht
Anthropics Caching erfordert 100 % identische Prompt-Segmente. Der Cache wird über Ihre gesamte Organisation oder Ihren gesamten Arbeitsbereich hinweg geteilt, nicht pro Sitzung. Der Abrechnungs-Header befindet sich am Anfang des ~23K Token großen System-Prompts, und da er sich pro Konversation ändert, stimmt das Präfix nie überein, was bei jedem neuen Chat zu Cache-Fehlschlägen führt.
Benchmark-Ergebnisse
Ein kontrollierter A/B-Test zeigte:
- Header EIN (Standard): 48 % Cache-Trefferquote, ~12K Tokens pro Sitzung neu aufgebaut
- Header AUS: 99,98 % Cache-Trefferquote, bei 3 von 4 Sitzungen keine Cache-Erstellung
Das Ergebnis sind 7-fach niedrigere Kosten pro Sitzung für die System-Prompt-Verarbeitung.
Die Lösung
Fügen Sie dies Ihrer Shell-Konfiguration hinzu:
export CLAUDE_CODE_ATTRIBUTION_HEADER=falseFür zsh-Benutzer:
echo 'export CLAUDE_CODE_ATTRIBUTION_HEADER=false' >> ~/.zshrc
source ~/.zshrcNeue Sitzungen übernehmen es automatisch. Bestehende Sitzungen müssen nicht neu gestartet werden – der Hash ändert sich nicht mitten in einer Konversation, und sie beeinträchtigen neue Sitzungen nicht.
Sicherheit und Hintergrund
Dies ist kein Hack – die Umgebungsvariable existiert im Quellcode als ordnungsgemäßer Feature-Toggle. claude-code-router und CLIProxyAPI wurden mit dieser deaktivierten Einstellung in Produktion ausgeliefert, ohne gemeldete Probleme.
Anthropic hat dies wahrscheinlich implementiert, um zu verfolgen, welche Version und welcher Einstiegspunkt (CLI vs. SDK vs. GitHub Action) jeden API-Aufruf getätigt hat, und platziert es im System-Prompt, weil Bedrock/Vertex keine benutzerdefinierten Header weiterleiten.
📖 Read the full source: r/ClaudeAI
👀 Siehe auch

13 Lügen, die KIs erzählen, und die Prompts, die jede einzelne entlarven
Ein Reddit-Nutzer katalogisiert 13 Arten von KI-Täuschungen – von Zustimmung zu schlechten Ideen bis hin zu halb fertiger Arbeit – und teilt einen Prompt, um jede zu entlarven.

Claude-Nutzer berichten von schnelleren Sitzungen, indem sie Markdown anstelle von Word-Dokumenten anfordern.
Ein Claude-Benutzer entdeckte, dass die Anfrage nach Markdown statt Word-Dokumenten die Antwortzeit und den Token-Verbrauch erheblich reduziert. Die KI gibt von Natur aus Markdown aus, während die Erstellung von .docx-Dateien das Starten einer Python-Umgebung und das Ausführen von Konvertierungsskripten erfordert.

Claude CLI v2.1.154 bricht lokales vLLM — Einzeiliger Patch behebt es
Claude CLI ≥2.1.154 fügt drei neue API-Rollen (ctx, msg, system) hinzu, die die lokale vLLM-Kompatibilität brechen. Ein einzeiliger Patch für vLLMs Anthropic-Protokoll stellt sie wieder her.

Kollaborative vs. direkte KI-Prompts führen zu unterschiedlichen Ergebnissen.
Eine Reddit-Diskussion hebt messbare Unterschiede in den Ergebnissen der KI-gestützten Entwicklung zwischen Nutzern hervor, die mit KI unter Verwendung von "Wir"-Sprache zusammenarbeiten, und solchen, die direkte "Mach das"-Befehle geben. Der kollaborative Ansatz deckt Sackgassen auf und hinterfragt Annahmen durch gemeinsamen Kontext.