Un script qui tournait pendant son sommeil
Imaginez la scène : il est tard, vous venez de construire quelque chose d'intelligent. Claude Code, configuré pour vérifier les mises à jour logicielles toutes les 30 minutes, tourne en autonomie. Vous allez vous coucher avec le sentiment d'avoir bien travaillé. Vous vous réveillez avec une facture de 6 000 $. C'est exactement ce qui est arrivé à un développeur qui en a parlé sur Reddit. Pas un processus fou. Pas une typo dans un palier de facturation. Le script a fait exactement ce qu'on lui demandait — se réveiller, vérifier les mises à jour, se rendormir. La catastrophe est née de deux choses qui se sont heurtées silencieusement dans l'obscurité. Je construis des outils d'optimisation de tokens pour gagner ma vie. Quand j'ai lu cette histoire pour la première fois, je n'ai pas pensé « quel développeur négligent ». J'ai pensé : je connais ce sentiment de faire confiance à une boucle censée faire gagner du temps.Comment le contexte devient un incendie monétaire
Claude Code ne remet pas sa mémoire à zéro entre les itérations de boucle quand on garde une session ouverte. Chaque appel d'outil, chaque réponse, chaque étape de raisonnement intermédiaire s'accumule dans un context window qui grossit comme du sédiment. En début de session, c'est gérable — quelques centaines de tokens. Des heures plus tard, c'est une autre bête. Au moment où la boucle de ce développeur avait tourné toute la nuit, elle avait constitué un historique de conversation de 800 000 tokens. Cet historique s'attachait à chaque requête. Normalement, c'est là que le prompt caching fait son travail. On paie le prix plein d'entrée une seule fois pour écrire le cache, puis chaque appel suivant lit depuis ce cache à une fraction du coût. Pour Claude Sonnet 4.x :| Type de token | Coût par MTok |
|---|---|
| Input de base | 3,00 $ |
| Cache write (TTL 5 min) | 3,75 $ |
| Cache read (hit) | 0,30 $ |
| Output | 15,00 $ |
- Cache hit : 800k × 0,30 $/MTok = 0,24 $ par cycle
- Cache miss (reconstruction complète) : 800k × 3,75 $/MTok = 3,00 $ par cycle
La fenêtre de cinq minutes qui a coûté 6 000 $
Voilà la partie qui rend cette histoire véritablement injuste. À un moment courant mars 2026, Anthropic a silencieusement abaissé le TTL par défaut du prompt cache de Claude Code de 1 heure à 5 minutes. Pas d'annonce. Pas d'entrée dans le changelog. Rien dans les notes de version. Le changement n'a été confirmé que des semaines plus tard quand un développeur du nom deseanGSISG a ouvert l'issue GitHub #46829 le 12 avril 2026, après avoir fait ce que j'aurais fait : regarder les données. Il a analysé 119 866 appels API sur deux machines et trouvé une transition nette — des cache writes à 1h jusqu'aux alentours des 6–8 mars, puis des cache writes à 5m à partir de là, sans rien entre les deux.
Voici donc le calcul qui a détruit la nuit de ce développeur :
- Intervalle de la boucle : 30 minutes
- TTL du cache (désormais) : 5 minutes
- Écart entre intervalle et TTL : 25 minutes de cache froid garanti
Ce que le cache donne, le TTL le reprend
L'analyse de l'issue GitHub a mis en lumière autre chose : ce n'était pas seulement un problème pour les développeurs qui font tourner des boucles nocturnes. Même les abonnés ordinaires de Claude Code qui n'avaient jamais atteint leurs limites ont constaté une augmentation de 20 à 32 % des coûts de création de cache après le changement de TTL. L'histoire de la boucle est extrême, mais le mécanisme sous-jacent — une régression silencieuse du TTL forçant des reconstructions complètes inutiles — a touché tout le monde. XDA Developers a documenté le schéma : chaque cache bust sur un grand context window est une reconstruction totale. Dans les sessions d'agentic coding, où le contexte atteint couramment des centaines de milliers de tokens, ce n'est pas un cas limite de niche. C'est la condition de fonctionnement normale pour tout agent qui tourne suffisamment longtemps. Le développeur a perdu 6 000 $ en une seule nuit. Ce chiffre n'est pas approximatif — il vient directement du rapport MakeUseOf de l'incident Reddit.Ce que la compression aurait changé (une estimation honnête)
Il s'agit d'une estimation. Je veux être précis sur ce que la compression adresse réellement ici. Le levier principal, c'est l'historique de 800 000 tokens reconstruit 48 fois. Un proxy d'optimisation de tokens comme Tokenade intercepte chaque réponse d'outil avant qu'elle n'entre dans le modèle — supprimant les scaffoldings verbeux, compressant les outputs, résumant les tours précédents avant qu'ils s'accumulent — ce qui est l'idée centrale derrière la réduction de l'usage de tokens des agents de codage IA. Une compression conservatrice à 50 % de cet historique réduirait le contexte de chaque cycle à ≈400k tokens. En supposant les 48 mêmes cycles à cache froid (pire cas : le mismatch TTL est toujours présent) :- Non compressé par cycle (cache write) : 800k × 3,75 $/MTok = 3,00 $
- Compressé par cycle (cache write) : 400k × 3,75 $/MTok = 1,50 $
- Économie nocturne estimée sur les cache writes seuls : ≈48 × 1,50 $ = ≈72 $
Trois lignes de code qui valent plus que les regrets
En lisant cette histoire, trois garde-fous s'imposent — aucun ne nécessite de nouvel outil :- Un budget de tokens strict sur la boucle. Claude Code supporte les flags
--max-tokens. Plafonner le contexte force une synthèse et un élagage plutôt qu'une accumulation indéfinie. - Des alertes de dépenses configurées à l'avance. Le délai du tableau de bord Anthropic rend la surveillance réactive inutile. La seule alerte qui arrive à temps est celle qu'on configure avant d'aller dormir.
- Une compression des inputs à chaque cycle, pour que l'historique de conversation grandissant ne se cumule pas dans le coût des cache writes.
Sources : MakeUseOf — Someone left Claude Code running overnight, and it cost $6,000 · XDA Developers — Anthropic quietly nerfed Claude Code's 1-hour cache · GitHub issue #46829 — Cache TTL silently regressed from 1h to 5m · Documentation tarifaire Anthropic
Up to 88% fewer tokens. Zero config.
Tokenade is the simplest way to cut what your coding agent sends to the model — set it up once, save on every prompt. Works with Claude Code, Cursor, Codex, Copilot & more.
Profiles are sourced from public statements, podcast interviews, Twitter/X posts, and Indie Hackers / Reddit threads cited inline. No private claims; if you spot a factual error, contact [email protected].