Aller au contenu principal

Claude Code accepte maintenant des mods : à quoi ça sert, et quel est le risque ?


Tu te souviens des mods de Skyrim ou de Minecraft ? Ces petits ajouts écrits par les joueurs qui changent tout dans un jeu, des textures jusqu'aux règles ? Eh bien depuis le 1er octobre, Claude Code a les siens. Anthropic les appelle des mods, et franchement, c'est la nouveauté la plus sympa que j'ai vue dans cet outil depuis des semaines !

Un mod, c'est une petite fonction écrite en TypeScript (du JavaScript avec des types) qui vient se brancher à l'intérieur de Claude Code et qui modifie ce qu'il fait. Anthropic résume ça en une phrase : un mod peut « réécrire un prompt, ajouter de l'interface, remplacer une fonction existante ou en ajouter une toute nouvelle ». Ça marche dans le terminal ET dans l'application de bureau.

Dans un garage, une petite voiture familiale beige toute sage reçoit un énorme aileron arrière, des jantes chromées et un éclairage néon bleu sous la caisse, pendant qu'un mécanicien en bleu de travail serre un dernier boulon avec un grand sourire

Claude Code version d'usine, et Claude Code après le passage au garage

Ce que mes hooks ne savaient pas faire

Je bricole Claude Code depuis des mois avec ce qu'on appelle des « hooks », des petits scripts qui se déclenchent à certains moments. J'en ai un, par exemple, qui interdit à l'agent de lire mes fichiers de mots de passe. Ça marche très bien. Mais un hook, c'est un videur : il peut dire oui, il peut dire non, il peut ajouter une remarque. Il ne peut pas réécrire ce que l'agent s'apprête à faire, il ne peut pas dessiner quoi que ce soit à l'écran, et il ne peut pas remplacer une fonction de Claude Code par la sienne.

Un mod, si. Chaque fois que Claude Code fait quelque chose, appeler un outil, demander une autorisation, afficher un bout d'écran, il émet un « événement ». Et ton mod peut se placer à quatre endroits autour de cet événement : avant, après, à la place, ou tout autour.

Schéma des quatre façons dont un mod se branche sur un événement de Claude Code : avant, il passe en premier et peut modifier ou bloquer ; après, il agit sur le résultat ; à la place, il remplace complètement la fonction d'origine ; autour, il agit à la fois avant et après

Avant, après, à la place, autour. Les hooks n'avaient droit qu'à la première case

Concrètement, Anthropic donne ces exemples : réécrire un prompt avant qu'il parte au modèle, bloquer, réécrire ou relancer un appel d'outil, accepter ou refuser une demande d'autorisation, et surtout masquer les secrets dans ce qu'un outil renvoie avant même que Claude le lise. Ce dernier point, c'est exactement ce que mon hook fait à moitié. Lui empêche l'agent d'ouvrir le fichier. Un mod pourrait laisser passer le fichier en remplaçant juste les mots de passe par des étoiles.

À quoi ça ressemble

D'après les premiers exemples publiés par des développeurs, un mod se branche avec une fonction on, un peu comme un « middleware » sur un serveur web, c'est-à-dire un maillon qu'on glisse dans la chaîne et qui choisit de laisser passer ou pas. Voilà l'idée, pour un garde-fou qui refuse toute commande qui touche à un fichier .env :

on("tool.call", { tool: "Bash" }, async ($, e, next) => {
  if (String(e.command ?? "").includes(".env")) {
    return { deny: "Pas touche à mes secrets" };
  }
  return next(e);
});

Le $ donne accès aux fichiers, au réseau, à l'interface et aux processus. Le e, c'est l'événement. Et next, c'est « je laisse passer au suivant ». Si plusieurs mods écoutent le même événement, ils passent dans l'ordre où ils ont été chargés.

Et le plus drôle, c'est que tu n'as même pas besoin d'écrire tout ça toi-même. Tu peux demander à Claude Code de créer le mod : il écrit le TypeScript, l'installe et le recharge à chaud, sans redémarrer ta session. Anthropic a d'ailleurs déjà transformé une de ses propres fonctions, /diff, en mod qu'on peut désactiver ou remplacer par le sien, et annonce que d'autres suivront. Moins de 24 heures après l'annonce, quelqu'un jouait déjà à Tetris dans une session de Claude Code. Évidemment !

Ce que je vais en faire

J'ai déjà créé ma propre ligne d'état, en bas de l'écran, qui affiche en permanence mon quota restant et ce que me coûte la session.

Ma barre d'état dans Claude Code : quota de la session à 7 %, quota de la semaine à 21 %, coût de la session à 3,61 dollars et six fichiers modifiés

Et ma liste d'envies est encore longue. Un mod qui masque les secrets au lieu de bloquer le fichier entier. Et un qui me demande confirmation avant toute commande qui efface des fichiers en masse, avec un résumé de ce qui va disparaître. Un développeur en a d'ailleurs publié un dans ce genre, qui mesure les dégâts possibles d'une commande avant de la laisser partir.

C'est là que je trouve l'idée vraiment intelligente. Anthropic arrête de vouloir faire un outil parfait pour tout le monde. Chacun se fabrique le sien. Mon Claude Code ne ressemblera pas au tien, et c'est très bien comme ça.

Par où commencer, si tu utilises Claude Code

Trois gestes, et c'est parti.

  • Mets Claude Code à jour. D'après les premiers retours de développeurs, il faut au moins la version 2.1.287, et les mods sont alors actifs d'office. La commande claude --version te dit où tu en es.
  • Tape /plugin dans une session. C'est là qu'on installe, active ou désactive les mods, y compris celui qui gère /diff.
  • Demande-lui simplement ce que tu veux, en français : « crée-moi un mod qui me demande confirmation avant toute commande qui supprime des fichiers ». Il l'écrit et l'installe. Ensuite, lis ce qu'il a écrit avant de t'y fier, on va voir pourquoi.

Et si tu ne codes pas, ça te concerne quand même un peu. Les développeurs qui fabriquent les applis que tu utilises vont pouvoir poser leurs propres garde-fous sur l'agent qui écrit leur code. Par exemple, l'empêcher de toucher à la base des clients ou d'envoyer quoi que ce soit en dehors de l'entreprise. Un agent mieux tenu en laisse, c'est moins de mauvaises surprises au bout de la chaîne.

Le revers : un mod a les clés de la maison

Bon, maintenant le point qui fâche, et Anthropic l'écrit lui-même noir sur blanc : les mods ne sont pas enfermés dans un bac à sable. Ils tournent dans le même programme que Claude Code, avec exactement les mêmes droits sur ta machine. Un mod peut lire tes fichiers, lancer des commandes, réécrire tes prompts et même accepter des autorisations à ta place.

Sur le pas d'une porte d'entrée, une femme souriante tend un énorme trousseau de clés à un inconnu en casquette et lunettes de soleil qu'elle ne connaît visiblement pas, lequel tend la main avec enthousiasme

Installer un mod d'un inconnu, c'est à peu près ça

Hier encore, je racontais comment un code piégé avait retourné les assistants de programmation contre leurs propriétaires pour leur faire fouiller l'ordinateur. Un mod malveillant n'aurait même pas besoin de cette ruse : il est déjà à l'intérieur. La règle d'Anthropic est simple, et je la signe : n'installe un mod que d'une source en qui tu as confiance, exactement comme n'importe quel programme. Côté entreprises, les formules Team et Enterprise chargent en premier un mod de sécurité maison, qui empêche les autres de passer outre un refus d'autorisation. Pour un particulier, c'est à toi de faire le tri.

On a déjà vu que les autorisations de Claude Code pouvaient avoir des angles morts. Avec les mods, la porte devient encore plus grande. C'est le prix de la liberté.

Moi, je vais m'amuser comme un gamin, mais avec mes mods à moi, que j'aurai lus ligne par ligne. Et au petit malin qui a déjà mis Tetris dans Claude Code : bravo ! Et rassurez-vous, un mod tourne sur votre machine et ne coûte rien par lui-même, Tetris compris. Mais gardez un œil sur votre quota : dès qu'un mod ajoute du texte à ce qui part chez Claude, ou que vous demandez à Claude de vous l'écrire, là, ça le grignote !

Sources

Article écrit avec l'aide de Claude Code, relu et corrigé par moi.

Rejoignez la conversation

Vous devez avoir un compte pour commenter cet article. La création est gratuite et prend moins d'une minute.

  • Le fichier XMLTV à télécharger gratuitement, chaque jour
  • Commenter les articles et répondre aux autres lecteurs
  • Être averti par e-mail des nouveaux articles que vous suivez

Aucun commentaire pour le moment.

Une erreur s'est produite. Cette application peut ne plus répondre jusqu'à ce qu'elle soit rechargée.Veuillez contacter l'auteur. Reload 🗙