Claude Code 2.1.219 et 2.1.220 : Opus 5 devient le défaut, le nesting des subagents fait son retour

La 2.1.219 fait d'Opus 5 le nouveau modèle Opus par défaut, réactive le nesting des subagents jusqu'à trois niveaux à peine trois jours après l'avoir coupé, et ajoute un vrai verrou réseau pour les commandes sandboxées. La 2.1.220 n'apporte que des correctifs. Ce qui compte.

claude-code changelog opus-5 subagents sandbox

La version 2.1.219 de Claude Code est sortie le 24 juillet, suivie le lendemain par la 2.1.220. La première change trois réflexes installés, la seconde n’est qu’une release de maintenance. Voici ce qui compte.

Opus 5 devient le modèle Opus par défaut

Claude Opus 5 (claude-opus-5) arrive et devient le modèle Opus par défaut. Contexte 1M, mode rapide facturé 10 $ / 50 $ par million de tokens.

Deux effets de bord à connaître :

  • Opus 4.7 sort du mode rapide. /fast ne s’applique plus qu’à Opus 5 et Opus 4.8. Si tu avais l’habitude de basculer sur Opus 4.7 en fast mode, elle ne fonctionne plus.
  • Le sélecteur /model regroupe Opus 5 et Opus 4.8 sous une même ligne “Opus (1M context)”, avec seulement le nom du modèle le plus récent surligné. Un correctif lié règle aussi l’affichage qui indiquait à tort “Requires usage credits” sur certains plans, à cause d’un cache périmé.

Le nesting des subagents revient, trois jours après avoir été coupé

C’est le changement le plus surprenant du lot, et il concerne directement les lecteurs de la 2.1.217 : cette version-là avait désactivé par défaut la capacité d’un subagent à lancer lui-même d’autres subagents, justement pour éviter les cascades incontrôlées.

La 2.1.219 fait marche arrière : par défaut, un subagent peut désormais imbriquer jusqu’à trois niveaux de subagents (contre un seul auparavant, c’est-à-dire aucun nesting). Pour retrouver le comportement verrouillé de la 2.1.217, il faut fixer CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH=1 explicitement.

Si tu avais ajusté tes scripts ou ta configuration pour composer avec l’ancien défaut, ou si tu comptais dessus comme garde-fou, vérifie cette variable après la mise à jour. Le plafond de 20 subagents concurrents introduit en 2.1.217 reste lui inchangé.

Sécurité : un vrai verrou réseau pour les commandes sandboxées

Nouveau réglage sandbox.network.strictAllowlist : il refuse silencieusement les hôtes non listés pour les commandes exécutées en sandbox, sans passer par une boîte de dialogue de confirmation. Utile si tu automatises des commandes sandboxées en headless, où une invite de permission bloquerait simplement le run.

Dans le même esprit, la résolution des variables ${VAR} dans les listes MCP autorisées ou bloquées au niveau entreprise change de source : elle lit désormais l’environnement de démarrage et les variables d’environnement managées, plutôt que l’environnement défini dans les fichiers de settings. Ça ferme une voie où une variable posée dans un fichier de settings local aurait pu influencer une allowlist censée être contrôlée au niveau organisation.

Ce qui change ton quotidien

  • Nouveau hook DirectoryAdded : se déclenche après /add-dir, ou après l’enregistrement d’un nouveau répertoire de travail en cours de session via le SDK. Utile pour réagir automatiquement à l’ajout d’un dossier plutôt que de le découvrir après coup.
  • Les workflows dynamiques passent à une taille par défaut “medium” : viser moins de 15 agents, réglable via le nouveau réglage workflowSizeGuideline ou dans /config. La taille actuelle s’affiche maintenant dans la barre de statut d’un workflow en cours.
  • claude mcp list et /mcp affichent le code HTTP et le message d’erreur quand un serveur MCP ne se connecte pas, plus un avertissement si une valeur de config contient des espaces invisibles en début ou fin de chaîne.
  • claude --teleport précise maintenant sur quel dépôt pointe ton checkout actuel quand il ne correspond pas au dépôt de la session.
  • Sorties de subagents imbriqués visibles en stream-json : avec --forward-subagent-text, les subagents lancés à la profondeur 2 et plus apparaissent désormais dans le flux, rattachés à l’id de l’appel d’outil Agent qui les a lancés. Directement lié au retour du nesting ci-dessus.

Le reste, en vrac utile

  • claude -p ne perd plus la réponse déjà produite quand le tour meurt sur une erreur API en plein streaming.
  • Copier-coller dans GNU screen n’imprime plus du base64 brut dans le terminal au lieu de copier la sélection.
  • Remote Control ne garde plus un statut fast-mode obsolète après un changement de modèle, une reconnexion, ou un échec de vérification d’organisation.
  • CLAUDE_CODE_GIT_BASH_PATH sous Windows n’est plus utilisé de force comme bash quand le chemin ne pointe pas vers un vrai binaire bash/sh : un avertissement s’affiche et la variable est ignorée.
  • Mode Vim : flèche gauche sur un prompt vide revient à la vue agent depuis le mode NORMAL, pas seulement depuis INSERT.
  • Mode lecteur d’écran : seul le caractère tapé est annoncé, au lieu de réécrire toute la ligne à chaque frappe.
  • Le message d’erreur “Remote Control is only available via api.anthropic.com” nomme désormais le réglage précis qui bloque l’accès.

Et la 2.1.220 ?

Rien à signaler. Le changelog officiel se contente d’un générique “correctifs de bugs et de fiabilité”, sans détail. Pas de changement de comportement à surveiller sur cette version.

Faut-il mettre à jour

Oui, mais vérifie ta configuration de nesting de subagents si tu avais construit quelque chose autour du défaut de la 2.1.217 : le comportement change de nouveau, dans l’autre sens. Pour Opus 5, la bascule est automatique si tu utilises déjà Opus par défaut, seul le mode rapide sur Opus 4.7 disparaît. Le reste ne justifie pas d’attendre.

Source : changelog officiel Claude Code.

Pierre Rondeau

Pierre Rondeau

Développeur et indie builder. Je construis des produits et automatisations avec l'IA. Créateur de Claude Hub.

LinkedIn