Correction du Gaspillage de Jetons Claude Code : Désactiver l'En-tête d'Attribution pour de Meilleurs Résultats de Cache

Claude Code gaspille des tokens à chaque nouvelle session depuis la version 2.1.69 à cause d'un en-tête d'attribution de facturation qui casse la mise en cache des invites. Le problème est documenté dans plusieurs issues GitHub (#40652, #34629, #40524) sans réponse officielle d'Anthropic à la date de publication de la source.
Ce qui se passe
Depuis la v2.1.69, Claude Code insère une chaîne d'attribution de facturation dans le premier bloc de votre invite système : x-anthropic-billing-header: cc_version=2.1.88.a3f; cc_entrypoint=cli; cch=00000;
La partie .a3f est un hachage de 3 caractères calculé à partir de votre premier message dans chaque conversation en utilisant cette fonction :
function computeHash(firstUserMessage, version) {
const chars = [4, 7, 20].map(i => firstUserMessage[i] || "0").join("");
return sha256("59cf53e54c78" + chars + version).slice(0, 3);
}Différentes conversations avec des premiers messages différents génèrent des hachages différents à chaque fois.
Pourquoi cela casse la mise en cache
La mise en cache d'Anthropic nécessite des segments d'invite 100% identiques. Le cache est partagé dans toute votre Organisation ou Espace de travail, pas par session. L'en-tête de facturation se trouve au début de l'invite système d'environ 23K tokens, et comme il change par conversation, le préfixe ne correspond jamais, provoquant des échecs de cache à chaque nouveau chat.
Résultats de benchmark
Un test A/B contrôlé a montré :
- En-tête ACTIVÉ (par défaut) : Taux de succès du cache de 48%, ~12K tokens reconstruits par session
- En-tête DÉSACTIVÉ : Taux de succès du cache de 99,98%, aucune création de cache sur 3 sessions sur 4
Le résultat est 7x moins cher par session sur le traitement des invites système.
La solution
Ajoutez ceci à votre configuration shell :
export CLAUDE_CODE_ATTRIBUTION_HEADER=falsePour les utilisateurs de zsh :
echo 'export CLAUDE_CODE_ATTRIBUTION_HEADER=false' >> ~/.zshrc
source ~/.zshrcLes nouvelles sessions le prennent automatiquement en compte. Les sessions existantes n'ont pas besoin d'être redémarrées—le hachage ne change pas en cours de conversation, et elles n'interfèrent pas avec les nouvelles sessions.
Sécurité et contexte
Ce n'est pas un hack—la variable d'environnement existe dans le code source comme une bascule de fonctionnalité appropriée. claude-code-router et CLIProxyAPI ont été livrés avec ceci désactivé en production sans problèmes signalés.
Anthropic a probablement implémenté ceci pour suivre quelle version et point d'entrée (CLI vs SDK vs GitHub Action) a effectué chaque appel API, le plaçant dans l'invite système car Bedrock/Vertex ne transmettent pas les en-têtes personnalisés.
📖 Lire la source complète : r/ClaudeAI
👀 See Also

Top 5 compétences moins évidentes d'agent pour les développeurs frontend utilisant Claude AI
Un développeur frontend partage 5 compétences spécifiques pour les agents Claude AI qui améliorent la productivité et la qualité du code : Playwright, Types avancés pour TypeScript, LyteNyte Grid, Modèles Tailwind CSS et Compétences PNPM.

Pourquoi votre dépôt ne devrait pas être votre mémoire : séparer le système de la connaissance
Utiliser votre dépôt comme mémoire organisationnelle entraîne des recherches bruyantes, des informations obsolètes et des décisions enterrées. Séparer les actifs système des connaissances (leçons apprises, analyses d'échecs, pivots d'architecture) est essentiel pour faire évoluer les équipes d'IA.

Utilisez CLAUDE.md pour conserver les conventions de projet entre les sessions Claude AI
Déposez un fichier CLAUDE.md à la racine de votre projet et Claude le lit au début de chaque session, retenant vos règles TypeScript, l'absence d'exports par défaut, les conventions de test et le contexte architectural sans avoir à les réexpliquer.

Problème d'accès aux fichiers Claude Cowork avec le mode streaming Google Drive et la solution
Lors de l'utilisation de Claude Cowork avec Google Drive pour Bureau en mode streaming, les fichiers peuvent ne pas s'ouvrir car Cowork a besoin de fichiers réels sur le disque, et non de fichiers de substitution. La solution implique de rendre certains dossiers disponibles hors ligne et d'utiliser des formats de fichiers standards.