Claude Code 2.1.199 ajoute les invocations slash-skill empilées, corrige le rapport d'erreurs des sous-agents, la boucle de crash du daemon des agents en arrière-plan sur Linux, et le bug de perte de réponse en streaming

Claude Code 2.1.199 ajoute les invocations slash-skill empilées, corrige le rapport d'erreurs des sous-agents, la boucle de crash du daemon des agents en arrière-plan sur Linux, et le bug de perte de réponse en streaming

lschvn

Claude Code v2.1.199 est sortie le 2026-07-02 à 23:35:18 UTC, un jour après v2.1.198 (la version Chrome GA + auto-PR des agents en arrière-plan + /dataviz + Gateway sur AWS) et deux jours après v2.1.197 qui faisait de Sonnet 5 le modèle par défaut. Les notes de version sont inhabituellement longues pour un cycle d'un jour: 24 entrées au changelog, une nouvelle fonctionnalité et 23 correctifs, avec la liste des correctifs concentrée sur la même surface que ce que la v2.1.198 a étendu (agents en arrière-plan, sous-agents, le flux d'auto-PR, plan mode) plus une longue traîne de petits correctifs UX. Le motif correspond aux deux versions précédentes: Anthropic itère la ligne v2.1.19x au même rythme que le modèle sous-jacent, et la surface produit pour Sonnet 5 est durcie version après version.

La seule nouvelle fonctionnalité : les invocations slash-skill empilées

La seule nouvelle fonctionnalité de la v2.1.199 est une petite extension utile de la surface slash-skill. Dans la v2.1.198 et antérieur, un prompt du type /skill-a /skill-b do XYZ ne chargeait que la première skill, skill-a; le second /skill-b était traité comme une partie du texte du prompt, pas comme une autre invocation de skill. La v2.1.199 change la règle: le parseur parcourt les tokens de tête du prompt et charge jusqu'à 5 slash-skills avant de retomber sur le reste du message. Une commande comme /plan /review /dataviz do XYZ charge désormais plan, review, et dataviz comme l'ensemble de skills actives, au lieu de ne charger que plan et de laisser silencieusement tomber le reste.

Le plafond de 5 skills est un garde-fou, pas un plafond de fonctionnalité: les skills portent leur propre contexte et leur propre surface d'outils, et une 6e skill serait le type de forme de prompt qui justifie déjà un sous-agent personnalisé au lieu d'une chaîne de skills inline. Le plafond est généreux pour les cas courants (2 à 3 skills pour combiner une étape de planification, une étape de revue de code et une étape de visualisation) et conservateur pour les cas limites (un agent trop zélé qui sinon se laisserait dériver dans une demi-douzaine de contextes de skills qui se chevauchent). Le changement est additif: les invocations single-skill existantes sont inchangées, et un utilisateur qui ne veut qu'une seule skill en contexte peut toujours écrire /skill-a do XYZ et obtenir le même comportement qu'avant.

Rapport d'erreurs des sous-agents et récupération du travail partiel

Le cluster le plus profond de correctifs de la v2.1.199 se trouve sur la surface sous-agents / agents en arrière-plan, et trois d'entre eux concernent la visibilité des échecs pour l'agent parent. Dans la v2.1.198 et antérieur, trois modes d'échec indépendants cachaient le travail partiel à l'orchestrateur :

  1. Les sous-agents coupés par une limite de débit ou une erreur serveur échouaient silencieusement. Un sous-agent qui tombait à court de contexte, touchait un 429, ou recevait un 5xx de l'API ne renvoyait rien au parent. Le parent n'avait aucun moyen de distinguer une tâche inachevée d'une tâche qui n'avait jamais commencé, et le travail partiel que le sous-agent avait déjà fait était perdu.
  2. Les sous-agents déclaraient les erreurs API comme des résultats réussis. Un sous-agent qui touchait une erreur API en milieu de tâche (erreur de limite d'usage, 529 overloaded, erreur modèle) renvoyait une enveloppe de résultat au parent, avec l'erreur exposée comme du texte à l'intérieur du résultat. Le parent traitait l'enveloppe comme un succès et utilisait le texte d'erreur comme réponse.
  3. SendMessage routait silencieusement à côté quand un agent ré-spawné réutilisait le nom d'un agent précédent. Quand un agent mourait et qu'un nouvel agent reprenait son nom dans le panneau d'agents, un SendMessage de suivi touchait parfois l'enregistrement de l'agent mort et routait vers une conversation périmée. Le parent n'avait pas d'erreur, juste une réponse manquante.

La v2.1.199 corrige les trois. Les sous-agents coupés par une limite de débit ou une erreur serveur renvoient désormais leur travail partiel au parent, avec l'erreur attachée. Les sous-agents qui touchent une erreur API déclarent désormais l'erreur au parent, avec le travail partiel conservé dans un champ séparé sur l'enveloppe de résultat. SendMessage détecte le mismatch de nom et demande à l'appelant de recibler, en exposant le problème de routage comme une erreur d'outil plutôt qu'un miss silencieux. Le motif est le même que le correctif v2.1.198 sur les équipes d'agents (un coéquipier qui meurt sur une erreur API déclare désormais failed au lead), et les deux versions transforment ensemble le mode d'échec « les sous-agents ont l'air d'avoir réussi mais en réalité non » de l'ère v2.1.196 en un mode visible et récupérable.

Boucle de crash du daemon des agents en arrière-plan sur Linux

Le correctif le plus douloureux opérationnellement dans la version est la boucle de crash du daemon des agents en arrière-plan sur Linux. Avant la v2.1.199, un arrêt brutal du daemon (un kill -9, un OOM de l'hôte, une coupure de courant, un crash dans un processus enfant) pouvait laisser un enregistrement de worker corrompu sur disque dans le répertoire d'état du daemon. Le code de récupération du daemon au démarrage suivant tentait de lire l'enregistrement, échouait sur la corruption, loggait une erreur et sortait; le superviseur respawnait le daemon, qui échouait sur le même enregistrement; et le cycle se répétait toutes les ~50 secondes. Tous les agents en arrière-plan en cours dans l'espace de travail de l'utilisateur mouraient avec le daemon.

La boucle de crash est le type de bug qui se manifeste sur des agents CI de longue durée et des agents en worktree sous tableau de bord, plutôt que sur de l'usage interactif en session unique, ce qui explique pourquoi elle arrive deux versions après que la v2.1.198 a fait du flux d'auto-PR le défaut pour les agents en arrière-plan. La v2.1.199 corrige le code de récupération pour que l'enregistrement corrompu soit détecté et remplacé par un enregistrement frais au lieu de crasher le daemon; le respawn du superviseur est désormais une action de récupération, pas un échec qui se répète. La version corrige aussi une régression liée de la v2.1.196: les agents en arrière-plan qui tentaient de faire un cold-start sur SSH macOS échouaient avec Could not switch to audit session, ce qui rendait le chemin de lancement SSH-sur-macOS inutilisable pour les équipes qui font tourner Claude Code sur un Mac distant. Le correctif est un changement d'une ligne dans le wrapper de lancement SSH qui commute explicitement la session d'audit avant que l'agent tente de s'y lier.

Préservation des réponses en streaming sur erreurs API en cours de flux

Deux correctifs liés ciblent le moment où un appel modèle est en vol et l'API le coupe. Le premier est le bug de perte de réponse en streaming: quand l'API Anthropic émettait une erreur overloaded (529) ou serveur (5xx) en milieu de flux après que le modèle avait déjà produit une sortie partielle, Claude Code 2.1.198 et antérieur jetait la réponse partielle avec l'erreur, laissant l'utilisateur sans rien. La v2.1.199 conserve la sortie partielle et lui ajoute une mention incomplete-response. Le changement compte surtout pour les générations longues: une exécution Sonnet 5 en contexte 1M, un refactor multi-fichiers avec des milliers d'appels d'outils, un graphique /dataviz avec une longue explication, peuvent tous perdre plusieurs secondes de travail sur un seul 529 tardif dans le flux sous v2.1.198. Le correctif est associé à la nouvelle politique de retry (voir plus bas): un tour partiel n'est plus gaspillé sur la première erreur transitoire, et la partielle est conservée quand les retries sont épuisés.

Le second est la gestion des erreurs SSL/TLS derrière les proxies d'entreprise. Dans la v2.1.198 et antérieur, un échec de handshake SSL causé par un proxy d'inspection TLS, un NODE_EXTRA_CA_CERTS manquant, ou un certificat expiré, brûlait le budget complet de retries avant d'afficher le moindre diagnostic. La v2.1.199 change le chemin: les erreurs SSL échouent immédiatement avec un indice de correction qui nomme la cause la plus probable (NODE_EXTRA_CA_CERTS pour un bundle CA manquant, vérification de certificat pour un certificat expiré, trust store du proxy pour un MITM d'entreprise). Le changement est une amélioration de la qualité d'erreur, pas un changement de comportement: la même erreur est désormais diagnostiquée en un tour au lieu de cinq, et le budget de retry est préservé pour les erreurs transitoires qui méritent vraiment des retries.

Plan mode, stderr des hooks, et la vue claude agents

Les correctifs du plan mode dans la v2.1.199 sont plus petits mais couvrent deux irritants distincts. Premièrement, le plan mode ne demandait pas l'autorisation pour les appels d'outils navigateur à changement d'état; une session en plan mode qui tentait d'appeler une action navigateur à changement d'état auto-allowait silencieusement l'appel au lieu de demander à l'utilisateur. La v2.1.199 conserve l'auto-allow existant pour les appels browser_batch en lecture seule (le chemin sûr, lecture seule, à travers l'extension Chrome) et ajoute l'invite manquante pour les appels d'outils navigateur à changement d'état. La découpe correspond au correctif v2.1.198 qui auto-allowait les appels d'outils en lecture seule quand une session démarre en plan mode, et elle ferme le traitement asymétrique des outils navigateur en lecture seule et à changement d'état.

Deuxièmement, les hooks SessionStart, Setup, et SubagentStart cachaient silencieusement le stderr quand ils sortaient avec le code 2. Un hook qui échouait avec une dépendance manquante, une erreur de parse, ou une exception runtime, loggait sur stderr, sortait en 2, et laissait l'utilisateur avec un résultat de hook qui avait l'air réussi. La v2.1.199 affiche le stderr dans le transcript quand un hook sort non-zéro, donc un hook qui se comporte mal est visible pour l'utilisateur au lieu d'être un échec silencieux. Le changement compte pour la même raison que le correctif de confiance MCP de la v2.1.197 comptait: un hook est un script contrôlé par l'utilisateur, et un échec silencieux d'un script contrôlé par l'utilisateur est un gouffre de temps de debug.

La version corrige aussi un bug de la vue claude agents: les sous-agents idle disparaissaient du panneau d'agents pendant que d'autres sous-agents étaient encore en train de travailler, laissant l'utilisateur avec une vue partielle de ses agents en cours. La v2.1.199 replie les sous-agents idle en surplus dans une ligne de résumé dépliable, donc l'utilisateur voit toujours les agents actifs et peut déplier la ligne pour voir les idle. La même vue reçoit un correctif où taper /model ou /fast en regardant un sous-agent ouvrait silencieusement le sélecteur de modèle du lead; la v2.1.199 affiche une notice expliquant que la commande s'applique au lead, et le même correctif empêche le sélecteur de modèle d'être ouvert dans le mauvais contexte. Les lignes de session de claude agents reçoivent aussi un correctif cosmétique: les liens de pull request s'affichent désormais comme un simple #N sans le label « PR » redondant.

Politique de retry, watchdog, et 429 transitoires

Le changement de comportement le plus visible pour l'utilisateur dans la v2.1.199 est la politique de retry. La version relève le nombre de retries par défaut pour les erreurs transitoires hors capacité (429 non liés à la limite d'usage de l'utilisateur, erreurs serveur 500-class, 529 overloaded) d'une petite valeur fixe à 300, avec backoff. La version lève aussi l'ancien plafond de 15 sur la variable d'environnement CLAUDE_CODE_MAX_RETRIES, donc les utilisateurs et les scripts CI peuvent fixer un plafond plus élevé sans qu'il soit silencieusement clampé. Le changement est ciblé: les erreurs de type capacité (la propre limite de débit de l'utilisateur, le plafond d'usage Pro/Max) ne sont pas affectées, et les abonnés obtiennent un retry automatique tandis qu'une session sur un plafond d'usage continue à signaler le plafond comme avant. La variable CLAUDE_CODE_RETRY_WATCHDOG, qui borne le temps total passé à retenter sur un tour, est inchangée, donc une boucle de retry qui dérape reste attrapée par le watchdog.

Le correctif s'accompagne du retry sur coupure réseau de la v2.1.198 (les erreurs transitoires comme ECONNRESET retentent désormais avec backoff au lieu d'annuler le tour), et les deux transforment ensemble le mode d'échec « une coupure réseau transitoire annule une génération longue » en « la coupure transitoire est retentée, la partielle est conservée si les retries sont épuisés, le plafond est toujours respecté ». Pour les flux CI qui font tourner Claude Code contre une flotte de dépôts, le changement est une amélioration stricte: une génération longue qui touche un 529 à la minute 8 d'une exécution de 10 minutes n'a plus besoin d'être relancée depuis zéro.

Petits correctifs à signaler

Les notes de version de la v2.1.199 ferment une longue traîne de petits correctifs. Les indicateurs de progression des jobs en arrière-plan ne bloquent plus pendant des minutes pendant que le job exécute de longues commandes. Les sessions en arrière-plan sur des machines à mémoire faible indiquent désormais une mémoire faible et suggèrent de libérer des ressources, au lieu d'afficher une erreur générique. Les sessions distantes ne flapent plus entre Working et Idle dans la vue d'agent quand un agent en arrière-plan se termine. claude stop n'est plus silencieusement annulé par un respawn d'agent en arrière-plan en course; le respawn honore désormais l'arrêt. L'ouverture ou la reprise d'une session sans nouveau message ne grossit plus le fichier de transcript. Le passage en arrière-plan d'une session avec ou /background ne perd plus son /color de la ligne de la vue d'agents. La réinitialisation d'un fichier de configuration corrompu depuis la boîte de récupération au démarrage ne détruit plus le fichier irrémédiablement; elle le sauvegarde d'abord. claude --dangerously-skip-permissions daemon <subcommand> n'est plus traité comme un prompt de chat; la sous-commande est désormais exécutée. Claude in Chrome n'ouvre plus en boucle la page de reconnexion quand les sessions tournent depuis des builds ou répertoires de configuration différents.

Pourquoi c'est important pour les utilisateurs de Claude Code

La v2.1.199 est la troisième version consécutive de Claude Code cette semaine, et la troisième version consécutive à durcir la même surface: le flux agents en arrière-plan et sous-agents que la v2.1.198 a fait devenir le défaut pour le travail de code dans un worktree, par-dessus le défaut Sonnet 5 que la v2.1.197 a introduit deux jours plus tôt. Le motif est cohérent: le modèle est stabilisé, le flux d'auto-PR est stabilisé, et le travail se porte sur les modes d'échec que le flux d'auto-PR fait remonter en production. La boucle de crash du daemon des agents en arrière-plan sur Linux, le bug de perte de réponse en streaming, les échecs silencieux des sous-agents, la gestion des erreurs SSL derrière les proxies d'entreprise, et l'asymétrie du plan mode sont exactement le type de problèmes qui n'apparaissent que quand le flux tourne sans surveillance dans une pipeline CI ou dans un worktree sous tableau de bord de longue durée, pas dans l'usage interactif en session unique qui a dominé la première année de Claude Code.

Pour les utilisateurs de Claude Code, le takeaway pratique est une fenêtre claude update plus calme un vendredi matin. La version est additive; les flux en session unique existants sont inchangés. La seule nouvelle fonctionnalité (les invocations slash-skill empilées) est un sur-ensemble strict du comportement précédent. La politique de retry est une valeur par défaut qui peut être annulée avec la variable d'environnement CLAUDE_CODE_MAX_RETRIES existante. Et les correctifs de modes d'échec (erreurs de sous-agents, préservation des réponses en streaming, asymétrie du plan mode) sont le type de changement qu'un utilisateur actif de Claude Code ne remarque que quand ils ne se déclenchent pas, ce qui est le but.

Questions fréquentes

Rolldown 1.1.4 Désactive `experimental.lazyBarrel` par Défaut, un Mois Après que 1.1.0 l'Ait Activé

Rolldown [v1.1.4](https://github.com/rolldown/rolldown/releases/tag/v1.1.4), publié le 2026-07-01T14:02:02Z, embarque un changement de fonctionnalité et 19 corrections de bogues. Le changement de fonctionnalité est une annulation partielle du [bascule par défaut de la v1.1.0](https://github.com/rolldown/rolldown/releases/tag/v1.1.0) du 2026-06-03: `experimental.lazyBarrel` est à nouveau désactivé par défaut, après quatre semaines de signalements de correction sur le comportement par défaut. La release durcit aussi le chemin du mode dev en forçant `lazyBarrel` à off dès que `experimental.devMode` est défini (PR [#10060](https://github.com/rolldown/rolldown/pull/10060)), en plus du forçage existant à off pour `treeshake`. L'annulation de la bascule par défaut (PR [#10071](https://github.com/rolldown/rolldown/pull/10071)) et le fix du mode dev s'authentifient chacun en une ligne: « disable `experimental.lazyBarrel` by default » et « fix(dev): disable lazy barrel in dev mode », et le suivi de la cause racine est la nouvelle [issue #10085](https://github.com/rolldown/rolldown/issues/10085) « Tracking strictExecutionOrder correctness and architecture issues », ouverte le lendemain de la release. La release fait suite à [Rolldown v1.1.3](https://github.com/rolldown/rolldown/releases/tag/v1.1.3) (2026-06-24) et est la première release depuis 1.1.0 à toucher la surface de configuration lazyBarrel.

Articles connexes

Plus de couverture avec des sujets et tags en commun.

Claude Code 2.1.198 rend Claude in Chrome généralement disponible, permet aux agents en arrière-plan de committer, pusher et ouvrir des PRs en brouillon, ajoute la skill `/dataviz` et intègre Claude Platform on AWS à la Gateway
ai

Claude Code 2.1.198 rend Claude in Chrome généralement disponible, permet aux agents en arrière-plan de committer, pusher et ouvrir des PRs en brouillon, ajoute la skill `/dataviz` et intègre Claude Platform on AWS à la Gateway

Anthropic a publié Claude Code [v2.1.198](https://github.com/anthropics/claude-code/releases/tag/v2.1.198) le 2026-07-01T20:45:36Z, deuxième jour consécutif de livraison pour Claude Code après la v2.1.197 (la version qui faisait de Sonnet 5 le modèle par défaut) la veille. Le changement principal est que Claude in Chrome devient généralement disponible dans Claude Code: l'assistant côté navigateur qui était en recherche preview passe sur un canal stable et n'est plus verrouillé par un drapeau de fonctionnalité ou une liste d'attente. La version livre aussi la première automatisation de bout en bout pour les agents en arrière-plan dans `claude agents`, qui committent, pushent et ouvrent une pull request en brouillon lorsqu'ils terminent un travail de code dans un worktree, au lieu de s'arrêter pour demander. Autres ajouts notables: une skill `/dataviz` pour la conception de graphiques et de tableaux de bord avec un validateur de palette de couleurs exécutable, un upstream Gateway pour Claude Platform on AWS (`anthropicAws`) avec des réponses model-not-found qui avancent dans la chaîne de basculement, un agent Explore intégré qui hérite désormais du modèle de la session principale (plafonné à opus) au lieu de tourner sur Haiku, et des sous-agents qui héritent de la configuration d'extended thinking de la session parente. La version supprime aussi l'assistant `/agents` et le remplace par le flux conversationnel, corrige une longue liste de bugs de fiabilité sur les agents en arrière-plan, les coupures réseau et l'authentification de plateforme, et améliore la coloration syntaxique en passant à highlight.js 11.
Claude Sonnet 5 devient le modèle par défaut de Claude Code 2.1.197 avec une fenêtre de contexte native de 1M tokens, un tarif de lancement de 2 $/10 $ par MTok et des garde-fous cyber activés par défaut
ai

Claude Sonnet 5 devient le modèle par défaut de Claude Code 2.1.197 avec une fenêtre de contexte native de 1M tokens, un tarif de lancement de 2 $/10 $ par MTok et des garde-fous cyber activés par défaut

Anthropic a annoncé Claude Sonnet 5 le 2026-06-30 ([Introducing Claude Sonnet 5](https://www.anthropic.com/news/claude-sonnet-5)), et Claude Code [v2.1.197](https://github.com/anthropics/claude-code/releases/tag/v2.1.197) (publié le même jour) en a fait le modèle par défaut. Le lancement est le premier modèle de la lignée Sonnet qui comble l'écart agentique avec Opus 4.8, embarque une fenêtre de contexte native de 1M tokens et arrive à un tarif de lancement de 2 $ par million de tokens d'entrée et 10 $ par million de tokens de sortie jusqu'au 31 août 2026 (puis 3 $/15 $ par MTok). Sonnet 5 devient le modèle par défaut des plans Free et Pro de Claude et le modèle par défaut de Claude Code, disponible immédiatement à la mise à jour. La release est livrée avec les garde-fous cyber activés par défaut (les mêmes que pour Opus 4.7 et 4.8, moins stricts que ceux de Fable 5), un tokenizer rafraîchi qui gonfle le nombre de tokens de 1,0 à 1,35x, et des hausses de limites de débit sur Chat, Cowork, Claude Code et la plateforme Claude pour absorber la consommation accrue des nouveaux niveaux d'effort. La system card Sonnet 5 et les notes de release Claude Code sortent le même jour, donc l'audience Claude Code reçoit le nouveau modèle le jour même de l'annonce.
Cline 4.0.1 annule la migration SDK après les régressions de 4.0.0 ; 4.0.2 ramène le code SDK avec des correctifs pour l'effort de raisonnement et ClinePass
ai

Cline 4.0.1 annule la migration SDK après les régressions de 4.0.0 ; 4.0.2 ramène le code SDK avec des correctifs pour l'effort de raisonnement et ClinePass

Cline a publié v4.0.1 le 28 juin 2026 et v4.0.2 le 29 juin 2026 (github.com/cline/cline), un cycle de récupération en deux étapes pour la migration SDK de v4.0.0 livrée le 26 juin. v4.0.1 livre l'extension VS Code 3.89.x d'avant le SDK sous un numéro de version 4.0.1, construite à partir d'une branche dédiée `legacy-extension` via un nouveau workflow `ext-vscode-publish-legacy.yml`, pour résoudre les régressions signalées dans 4.0.0 (aperçus de diff cassés dans l'éditeur, erreurs run_commands pendant les éditions de fichiers, flux d'édition de fichiers cassé avec GLM 5.2 et MiniMax M3 via Ollama). v4.0.2 restaure le chemin de code basé sur le SDK par-dessus la même branche legacy, en ajoutant le support de l'effort de raisonnement (incluant `xhigh`) pour les modèles thinking de DeepSeek (#11938), une couche de contrôle d'effort de raisonnement centralisée pour ClinePass (#11954), des identifiants Z.ai canoniques (#11951), un correctif de remplacement des variables d'environnement dans la webview (#11955), un polissage des métadonnées ClinePass et Z.ai (#11958), et un correctif de paramètre par défaut pour focus chain (#11960). La CLI v3.0.32 sort le même jour avec les améliorations de compaction de contexte du SDK v0.0.54 et le polissage de l'onboarding ClinePass. La séquence montre un projet qui récupère une migration majeure en 72 heures en faisant avancer la branche legacy plutôt qu'en annulant le travail SDK.

Commentaires

Connexion Connectez-vous pour participer à la conversation.

Pas encore de commentaires. Soyez le premier à partager vos pensées.