Claude Code v2.1.217 : avertissements sur les transcriptions échouées et correctif de fuite mémoire MCP
Claude Code v2.1.217 ajoute deux choses qui pèsent plus que la liste des corrections : un avertissement explicite quand les transcriptions ne s’enregistrent pas (disque plein, variable d’environnement qui désactive l’enregistrement) et la correction d’une fuite mémoire qui gardait en mémoire l’output complet des outils MCP même après la troncature à l’écran.
Comme nous le racontions hier avec v2.1.216, la série de releases rapides pousse Claude Code vers l’usage quotidien en production. L’avertissement sur les transcription failures est un signal concret de cette direction : avant, quand le disque se remplissait ou qu’une variable d’environnement héritée éteignait l’enregistrement des sessions, les transcriptions disparaissaient en silence. Maintenant l’agent le dit.
La correction sur la fuite mémoire des outils MCP ferme un problème subtil : même si l’output était tronqué à l’écran, la version entière restait allouée en mémoire pour toute la session. Avec des heures de travail et plusieurs appels à des outils externes, ça s’accumulait jusqu’à ralentir ou bloquer tout.
La release apporte aussi l’autocomplétion des emoji par shortcode (:heart: pour ❤️, désactivable avec emojiCompletionEnabled), un plafond sur les subagents concurrents (default 20, configurable avec CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS) et l’interdiction des subagents imbriqués par défaut. L’outil apprend à se fixer des limites tout seul.
En détail
Le changement qui compte le plus dans cette release ne vient pas d’une feature nouvelle, mais d’un avertissement. Jusqu’à aujourd’hui, si le disque se remplissait au milieu d’une session ou si une variable d’environnement héritée (peut-être d’une configuration d’entreprise) désactivait l’enregistrement des sessions, Claude Code perdait les transcriptions sans le dire. On s’en apercevait seulement en essayant de faire --resume ou --continue et en trouvant la session vide.
Maintenant un avertissement apparaît. Pour qui exécute Claude Code dans des pipelines automatisées ou sur des machines partagées, ça change la façon d’opérer : au lieu de découvrir le dégât après coup, tu peux réagir immédiatement, libérer de l’espace ou corriger la configuration.
La fuite mémoire des outils MCP était le bug classique silencieux. Quand un outil MCP restituait un output long, Claude Code le tronquait à l’écran pour ne pas encombrer le terminal, mais maintenait la version entière en mémoire pour le reste de la session. Dans une session d’une demi-heure avec dix appels à des outils externes, la mémoire utilisée croissait sans raison. La correction libère la mémoire après la troncature.
Le plafond sur les subagents concurrents (default 20, override avec CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS) et l’interdiction des subagents imbriqués par défaut ferment un autre front : jusqu’ici un seul message pouvait lancer un nombre illimité d’agents en arrière-plan, chacun pouvant à son tour en lancer d’autres. En théorie c’était puissant, en pratique c’était un moyen fiable de saturer la machine et de brûler le budget. Mettre un plafond par défaut est un choix conservateur qui protège ceux qui utilisent l’outil sans avoir rien configuré.
La release ferme aussi un OOM sur CLAUDE.md et SKILL.md : si le frontmatter contenait beaucoup de brace groups dans les chemins, l’expansion pouvait bloquer ou faire crasher la CLI au démarrage. Maintenant l’expansion a un budget. Et elle corrige un bug par lequel --max-budget-usd n’arrêtait pas les background agents quand le budget était dépassé : une allocation de coût qui ne fonctionnait pas dans le cas où c’était nécessaire.
Le ton général de la release confirme le pattern des dernières semaines : rien de spectaculaire, mais une séquence de corrections qui éliminent les cas où l’outil échoue en silence. Pour qui évalue de porter Claude Code dans un flux de travail récurrent, ça compte plus que n’importe quel annonce.