Ce que c'est et pourquoi ça compte
/loop est une commande de Claude Code qui répète une tâche toute seule, dans la session que vous avez ouverte. Vous lui dites à quelle fréquence et quoi faire, et elle y revient jusqu'à ce que vous l'arrêtiez, pendant sept jours au maximum.
Le problème qu'elle règle, c'est la vérification à la main. Vous faites un déploiement et de temps en temps vous ouvrez le site pour voir s'il marche. Vous attendez la validation de l'App Store et vous ouvrez sans arrêt vos mails. Avec une boucle, c'est Claude qui regarde, et vous travaillez sur autre chose.
Mais ce qui la rend utile, c'est autre chose : je lui demande de m'écrire seulement si quelque chose change. Une boucle qui dit « tout va bien » toutes les cinq minutes, c'est du bruit, et au bout d'une heure vous ne la lisez plus. Celle qui se tait tant que rien ne se passe, quand elle parle, vous l'écoutez.
Ce n'est pas une routine. La boucle vit dans la session : elle démarre en un instant, mais elle s'arrête quand vous fermez le terminal. Les routines qui tournent même ordinateur éteint, vous les trouvez dans le guide sur les routines.
1. Comment l'écrire
Dans une session Claude Code, vous écrivez /loop, puis l'intervalle, puis la tâche. Par exemple /loop 5m suivi de ce qu'il faut vérifier.
- L'intervalle est un nombre avec une unité : s pour les secondes, m pour les minutes, h pour les heures, d pour les jours. Donc 5m, 1h, 1d.
- Le pas le plus court est d'une minute : les secondes sont arrondies à la minute supérieure.
- Si vous choisissez un intervalle bizarre, comme 7m ou 90m, Claude l'arrondit au plus proche qu'il sait planifier et vous dit lequel il a choisi.
Quand vous la lancez, Claude vous confirme à quelle fréquence elle tournera. Ensuite, la tâche repart toute seule, dans la même conversation. Au tour suivant, il sait donc ce qu'il a vu au tour d'avant, et c'est pour ça qu'il peut vous dire si quelque chose a changé.
Sans intervalle
Si vous écrivez /loop et directement la tâche, sans intervalle, c'est Claude qui décide du rythme. Après chaque tour, il choisit combien de temps attendre, d'une minute à une heure, selon ce qu'il a vu : peu si quelque chose est sur le point d'arriver, plus si tout est calme. À la fin de chaque tour, il vous écrit combien de temps il attend et pourquoi. Et quand la tâche est terminée, il peut fermer la boucle tout seul.
2. Les trois boucles
Ils se copient tels quels. Changez seulement les parties entre [ ].
Le site et le déploiement
Je la lance juste après un déploiement, ou quand j'ai changé quelque chose sur le serveur et que je ne suis pas tranquille.
/loop 5m ouvre [adresse du site] et vérifie qu'il répond. S'il ne répond pas ou renvoie une erreur, lis les logs du dernier déploiement et écris-moi ce qui n'a pas marché et ce que tu proposes. Ne change rien sans me le demander. Si tout est comme avant, n'écris rien.
Les trois dernières phrases sont celles qui comptent. « Lis les logs du dernier déploiement » lui dit où regarder. « Ne change rien sans me le demander » l'empêche de se mettre à réparer le serveur tout seul. « N'écris rien » le fait taire quand tout va bien.
Pour lire les logs, Claude doit pouvoir y accéder depuis la session : avec l'outil en ligne de commande de votre hébergeur ou avec un connecteur. S'il n'y arrive pas, la boucle vérifie seulement que le site répond. Et toutes les cinq minutes, ça fait beaucoup de tours : gardez-la courte, elle ne doit faire qu'une chose.
Les tests sur la branche principale
Elle me sert quand des modifications arrivent sur main sans que je les aie faites à ce moment-là : une autre session de Claude, quelqu'un qui collabore. Toutes les heures, elle récupère les nouveautés et relance les tests.
/loop 1h récupère les dernières modifications de la branche main et lance les tests. Écris-moi seulement si un test qui passait échoue maintenant : lequel, quelle modification l'a cassé et la correction que tu proposes. Ne touche pas au code.
« Seulement si un test qui passait échoue maintenant », c'est le filtre : un test cassé depuis des jours, inutile d'en entendre parler toutes les heures, ce qu'il vous faut, c'est savoir ce qui vient de casser. « Ne touche pas au code » vous laisse la décision : il trouve et propose, vous choisissez.
Une chose à savoir : cette boucle récupère les modifications dans le dossier où vous travaillez. Si vous avez des fichiers en cours, enregistrez votre travail avant, ou faites-la tourner dans une copie séparée du projet.
La réponse que vous attendez
Par exemple la validation de l'App Store. Ici, je ne mets pas d'intervalle : je ne sais pas quand la réponse arrivera, alors je laisse Claude choisir le rythme. Quand la réponse arrive, il me dit quoi faire et ferme la boucle.
/loop vérifie [où arrive la réponse : la boîte mail connectée, la page de statut] si la réponse sur la validation de [nom de l'app] est arrivée. Quand quelque chose change, dis-moi ce qu'elle dit et ce que je dois faire, puis ferme la boucle.
Claude doit pouvoir voir l'endroit où arrive la réponse. Si c'est le mail, votre boîte doit être reliée à la session par un connecteur. Si c'est une page de statut, il doit pouvoir l'ouvrir. Avant de lancer la boucle, je lui pose la question une fois à la main :
Est-ce que tu arrives à voir [où arrive la réponse] ? Dis-moi ce qu'il y a maintenant, sans rien changer.
3. Comment l'arrêter
Une boucle à intervalle fixe continue jusqu'à ce que vous l'annuliez, ou jusqu'à ce que sept jours soient passés. Pour l'annuler, il suffit de le demander avec des mots simples. Demandez d'abord la liste :
quelles tâches planifiées est-ce que j'ai ?
Claude vous montre les tâches actives, avec leur fréquence et la tâche. Ensuite, vous lui dites laquelle supprimer :
annule le contrôle du déploiement
Une boucle sans intervalle, pendant qu'elle attend le tour suivant, vous l'arrêtez avec Échap : le tour en attente saute et la boucle ne repart pas. Celles à intervalle fixe, elles, restent, et vous les annulez en le demandant comme ci-dessus.
4. Avant de la laisser tourner
Elle ne tourne que si la session est ouverte
La boucle ne tourne que tant que Claude Code est ouvert et l'ordinateur allumé. Fermez le terminal et elle s'arrête. Si un tour tombe pendant que Claude est occupé, il attend ; et les tours manqués ne sont pas rattrapés : dès que Claude est libre, elle n'en fait qu'un.
Si vous fermez puis reprenez la session avec claude --resume ou claude --continue, les boucles à intervalle fixe reviennent, si elles n'ont pas expiré. Celles sans intervalle, non : vous les relancez avec /loop.
Elle dure sept jours au maximum
Toute boucle dure au maximum sept jours à partir de sa création, même celle sans intervalle : elle fait un dernier tour et se supprime toute seule. Ça évite qu'une boucle oubliée continue de tourner. Si vous en avez besoin plus longtemps, relancez-la avant qu'elle expire.
Elle utilise les autorisations de la session
La boucle a les mêmes autorisations que la session dans laquelle vous la lancez. Si, à un tour, Claude doit utiliser une commande qu'il vous demande d'habitude d'approuver, il s'arrête là et vous attend. C'est pour ça que je regarde le premier tour et que j'approuve ce qu'il faut, comme la commande qui lance les tests.
Ordinateur éteint, il faut autre chose
Pour ce qui doit tourner ordinateur éteint, il y a /schedule : elle crée une routine dans le cloud d'Anthropic. Il faut être connecté avec votre compte claude.ai et avoir le projet sur GitHub, et elle se lance au maximum une fois par heure. J'ai expliqué comment la configurer dans le guide sur les routines.
Les erreurs les plus courantes
- Ne pas lui dire quand se taire : à chaque tour, elle vous écrit « tout va bien » et vous arrêtez de lire. Écrivez toujours « écris-moi seulement si quelque chose change ».
- La laisser corriger toute seule : pendant que vous ne regardez pas, Claude peut modifier le serveur ou le code. Ajoutez « ne change rien sans me le demander ».
- Fermer le terminal en pensant qu'elle continue : la boucle vit dans la session. Pour quelque chose qui tourne ordinateur éteint, utilisez /schedule.
- L'envoyer regarder un endroit qu'il ne voit pas : la boucle tourne à vide. Demandez-lui d'abord une fois à la main s'il y arrive.
- Partir dès le premier tour : si Claude doit vous demander une autorisation, la boucle reste bloquée à vous attendre. Regardez le premier tour et approuvez ce qu'il faut.
- Oublier l'expiration : au bout de sept jours, la boucle se supprime toute seule. Si vous en avez encore besoin, relancez-la avant.
Check-list
- Intervalle avec son unité : 5m, 1h, 1d
- Parties entre [ ] remplacées
- « Écris-moi seulement si quelque chose change » dans le prompt
- « Ne change rien » dans le prompt
- Claude accède aux logs, au mail ou à la page de statut
- Premier tour regardé, autorisations approuvées
- Noté quand les sept jours se terminent
Questions fréquentes
Est-ce que je peux utiliser la session pendant que la boucle tourne ?
Oui. La boucle se déclenche entre deux messages : si un tour tombe pendant que Claude travaille pour vous, ce tour attend que Claude ait fini. Mais les tours finissent dans la même conversation, donc plus le prompt est court et plus elle se tait quand il n'y a rien à dire, mieux c'est.
Et si j'ai besoin d'une vérification une seule fois ?
Pas besoin de /loop. Écrivez-le avec des mots simples, par exemple « dans 45 minutes, vérifie si les tests sont passés » : Claude planifie une seule vérification, qui se supprime toute seule après s'être lancée.