Ce qui se passe
Flamerix AI a instrumenté Claude Code et publié une mesure gênante. Toutes les 30 secondes environ, pour chaque agent d'arrière-plan, le client renvoie la transcription entière de cet agent à son propre modèle et lui demande de décrire sa dernière action en « trois à cinq mots ». La réponse ne sert qu'à la ligne d'état du panneau des agents : elle n'atteint ni le modèle principal, ni votre conversation.
L'anomalie a été repérée dans l'export OpenTelemetry, en groupant les événements
claude_code.api_request par query_source.
| Mesure | query_source = agent_summary |
|---|---|
| Part de la dépense totale | 16,4 % (conversation principale : 15,7 %) |
| Part des requêtes | 19,7 %, environ une sur cinq |
| Part de cette dépense sur Opus | 96 % |
| Jetons d'entrée par jeton de sortie | ≈ 9 000 : 1 |
« Dépense » désigne l'estimation du client lui-même (cost_usd), pas une
facture : sur un abonnement, ce qui se perd est de la marge de quota. Le
ticket #86879
rassemble quatre mesures indépendantes situées entre 18 et 26 %.
Pourquoi c'est invisible
Trois raisons se cumulent, et c'est ce qui rend le sujet intéressant :
- Ces requêtes ne sont pas écrites dans les journaux de session sur disque (ticket #104358). Les outils de coût qui analysent les transcriptions ne les voient donc pas du tout ; seul l'export OpenTelemetry les expose.
- Le cache rend l'appel moins cher, pas bon marché. Environ 98 % de ces appels relisent la transcription depuis le cache ; les ~2 % qui tombent sur un cache froid portent plus d'un tiers du coût.
- La documentation ne la liste pas parmi les consommations de jetons en arrière-plan.
Dans la télémétrie de Flamerix, la part hebdomadaire est passée de 3,5-7 % en juillet à 7,3 %, puis 11,8 % la semaine du passage en 2.1.233, et environ 16 % à la mi-octobre.
Pourquoi il n'y a pas de réglage
- L'interrupteur documenté ne sait qu'activer. L'option SDK
agentProgressSummariesvautfalsepar défaut, mais dans le bundle elle est un terme d'un OU dont tous les chemins d'écriture posenttrue. La variable non documentéeCLAUDE_CODE_AGENT_PROGRESS_SUMMARIESne peut, elle aussi, que l'activer. - L'intervalle appartient au serveur. Il vient d'un drapeau serveur par famille de modèles, borné entre 30 et 240 s depuis la 2.1.300 (14 octobre), et la valeur par défaut est déjà le minimum.
- Les variables d'environnement évidentes manquent la cible.
DISABLE_NON_ESSENTIAL_MODEL_CALLS, que certains empaqueteurs posent, n'existe pas dans le binaire.CLAUDE_CODE_FORK_SUBAGENT=0etCLAUDE_CODE_DISABLE_BACKGROUND_TASKS=1arrêtent bien le mécanisme, mais en emportant les sous-agents forkés ou les agents d'arrière-plan avec lui. - Une variante moins coûteuse existe, désactivée. La 2.1.310 (23 octobre)
embarque un mode
short— environ 2 000 jetons de notes au lieu de la transcription complète. Le défaut reste la transcription complète, et seuls les drapeaux serveur peuvent en changer.
La fonction est active par défaut depuis la 2.1.232 (13 août 2026) pour les agents d'arrière-plan interactifs ; le code existe depuis février.
Ce que ça change pour vous
La partie actionnable, c'est la mesure : si vous exportez OpenTelemetry,
groupez vos événements claude_code.api_request par query_source et regardez
votre propre part d'agent_summary avant toute autre décision. C'est aussi la
seule vérification qui attrape tous les cas, le panneau d'agents ne disant rien
du volume consommé.
Flamerix publie un correctif — un préchargement Bun d'environ 80 lignes, sous
licence MIT, activé par BUN_OPTIONS=--preload, sans modification du binaire.
Trois réserves avant d'y toucher, que l'auteur énonce lui-même :
- Linux seulement a été testé ; macOS et Windows non.
- Le mécanisme reconnaît le minuteur au texte source de sa fonction. Si une mise à jour renomme la ligne de journal, enveloppe le callback ou déplace les chaînes, le correctif ne correspond plus à rien et les résumés reviennent en silence : d'où la vérification à refaire après chaque mise à jour.
- Modifier le comportement d'exécution d'un client peut heurter les conditions du service que vous utilisez ; la vérifier vous incombe.
Effet visible si vous l'appliquez : l'état par agent cesse de se rafraîchir dans
le panneau, et task_progress du SDK n'a plus de summary.
Source : gist de Flamerix AI, 29 octobre 2026. Source en anglais. Mesures et code publiés par un tiers indépendant, sans lien avec Anthropic ; chiffres non vérifiés de façon indépendante par la rédaction.