Claude Code v2.1.113 : binaire natif, durcissement des règles Bash et corrections en série

En brefLa version 2.1.113 de Claude Code, l'agent CLI d'Anthropic, marque un tournant technique : le lanceur ne distribue plus un bundle JavaScript mais un binaire natif propre à chaque plateforme, installé via une dépendance optionnelle. La mise à jour renforce surtout la sécurité du sandbox avec un nouveau réglage sandbox.network.deniedDomains qui bloque des domaines précis même sous un joker allowedDomains, et durcit les règles d'autorisation Bash : les commandes enveloppées dans env, sudo, watch ou setsid sont désormais correctement filtrées, find -exec et find -delete ne sont plus auto-approuvés, et dangerouslyDisableSandbox redemande une permission. L'ergonomie progresse aussi avec une navigation readline complète en saisie multiligne, des URL cliquables même sur plusieurs lignes, et un /loop annulable via Esc. Enfin, une longue liste de correctifs vise le Remote Control mobile/web, les sous-agents bloqués, le rendu des tableaux Markdown et la stabilité sous Windows.

Un binaire natif à la place du JavaScript embarqué

Le changement le plus structurant de cette version est invisible au quotidien mais lourd de conséquences : la CLI ne lance plus un bundle JavaScript empaqueté. Elle exécute désormais un binaire natif Claude Code, livré sous forme de dépendance optionnelle propre à chaque plateforme. Concrètement, votre gestionnaire de paquets télécharge la variante correspondant à votre système d'exploitation et à votre architecture, et c'est ce binaire qui tourne.

Pour l'utilisateur, cela se traduit potentiellement par des démarrages plus rapides et une empreinte d'exécution mieux maîtrisée, sans dépendre d'un runtime Node embarqué dans le paquet. C'est aussi une base technique plus saine pour les évolutions à venir.

Sécurité : le sandbox et les règles Bash se durcissent

Plusieurs changements visent directement la surface d'attaque de l'agent. Le nouveau réglage sandbox.network.deniedDomains permet de bloquer des domaines précis, même lorsqu'un joker plus large dans allowedDomains les autoriserait autrement. Utile pour ouvrir un domaine entier tout en excluant quelques exceptions sensibles.

Côté Bash, le filtrage devient nettement plus strict :

  • Les règles de refus s'appliquent maintenant aux commandes enveloppées dans env, sudo, watch, ionice, setsid et autres wrappers d'exécution — un contournement classique désormais couvert.
  • Les règles d'autorisation Bash(find:*) n'auto-approuvent plus find -exec ni find -delete, qui peuvent exécuter ou supprimer arbitrairement.
  • Sur macOS, les chemins /private/{etc,var,tmp,home} sont traités comme des cibles de suppression dangereuses sous les règles Bash(rm:*).
  • dangerouslyDisableSandbox ne s'exécute plus hors sandbox sans demander de permission — la faille est corrigée.

À noter aussi : une commande multiligne dont la première ligne est un commentaire affiche désormais la commande complète dans le transcript, ce qui ferme un vecteur d'usurpation visuelle (UI spoofing).

Ergonomie du terminal : readline enfin complet

La saisie gagne en confort, surtout en mode multiligne. Ctrl+A et Ctrl+E déplacent maintenant le curseur au début et à la fin de la ligne logique courante, conformément au comportement readline attendu. Sous Windows, Ctrl+Backspace supprime le mot précédent. Et Cmd-Backspace / Ctrl+U suppriment de nouveau du curseur jusqu'au début de la ligne, après une régression.

En mode plein écran, Shift+↑/↓ fait défiler la fenêtre quand on étend une sélection au-delà du bord visible. Les URL longues qui se coupent sur plusieurs lignes restent cliquables dans les terminaux compatibles hyperliens OSC 8.

/loop, /ultrareview et Remote Control

La commande /loop s'améliore : appuyer sur Esc annule les réveils en attente, et ceux-ci s'affichent désormais comme « Claude resuming /loop wakeup » pour plus de clarté. /ultrareview démarre plus vite grâce à des vérifications parallélisées, affiche un diffstat dans la fenêtre de lancement et un état animé de démarrage.

Le Remote Control (clients mobile et web) progresse nettement : /extra-usage y fonctionne, l'autocomplétion des fichiers via @ est interrogeable, et plusieurs bugs sont corrigés — sessions qui ne diffusaient pas les transcripts de sous-agents, sessions non archivées à la fermeture de Claude Code.

Fiabilité : la fin des blocages silencieux

Un sous-agent qui se fige en cours de stream échoue désormais avec une erreur claire après 10 minutes au lieu de rester bloqué indéfiniment. La gestion des timeouts d'appels MCP concurrents est corrigée, là où un message destiné à un appel pouvait désarmer silencieusement le watchdog d'un autre.

La liste des correctifs est longue : tableaux Markdown qui cassaient quand une cellule contenait du code inline avec un caractère pipe, /insights qui plantait avec EBUSY sous Windows, compactage d'une session longue reprise qui échouait, erreurs 400 liées à l'effort sur des modèles qui ne le supportent pas ou sur Vertex AI, et l'erreur thinking.type.enabled is not supported avec Opus 4.7 via un profil d'inférence Bedrock. Les blocs d'images SDK qui échouaient font maintenant tomber proprement la session sur un texte de remplacement au lieu de la faire planter.

Ce qu'il faut retenir

Cette version n'apporte pas de fonctionnalité spectaculaire mais consolide les fondations : un lanceur natif, un sandbox et des règles Bash réellement étanches, et une expérience terminal alignée sur les standards readline. Pour qui automatise des tâches avec Claude Code, les gains de sécurité sur les wrappers Bash et deniedDomains méritent à eux seuls la mise à jour. Détails complets dans le changelog officiel d'Anthropic.

Source officielle : v2.1.113 — analyse et rédaction originale par claude-code.fr.

Questions fréquentes

Qu'est-ce que le passage à un binaire natif change pour moi ?

Claude Code n'exécute plus un bundle JavaScript empaqueté mais un binaire compilé propre à votre plateforme, installé via une dépendance optionnelle. À l'usage, cela vise des démarrages plus rapides et une exécution mieux maîtrisée, sans modifier votre façon d'utiliser la CLI.

À quoi sert le nouveau réglage sandbox.network.deniedDomains ?

Il permet de bloquer des domaines précis même si une règle allowedDomains plus large, avec joker, les autoriserait. Vous pouvez ainsi ouvrir tout un domaine tout en interdisant quelques exceptions sensibles.

Pourquoi mes règles Bash existantes pourraient se comporter différemment ?

Le filtrage est plus strict : les commandes enveloppées dans env, sudo, watch, ionice ou setsid sont désormais couvertes par les règles de refus, et les règles Bash(find:*) n'auto-approuvent plus find -exec ni find -delete. Des actions auparavant tolérées peuvent maintenant demander une permission.

Que se passe-t-il si un sous-agent se bloque ?

Un sous-agent qui se fige en cours de stream échoue désormais avec une erreur explicite au bout de 10 minutes, au lieu de rester bloqué silencieusement comme avant cette version.

Ne ratez aucune mise à jour de Claude Code

Suivez le flux live, mis à jour en continu depuis les sources officielles Anthropic.

Ouvrir le flux live