Cos'è e perché conta
/loop è un comando di Claude Code che ripete un compito da solo, dentro la sessione che hai aperta. Gli dici ogni quanto e cosa fare, e lui torna a farlo finché non lo fermi, per sette giorni al massimo.
Il problema che risolve è il controllo a mano. Fai un deploy e ogni tanto apri il sito per vedere se va. Aspetti la revisione dell'App Store e continui ad aprire la mail. Con un loop guarda Claude, e tu lavori ad altro.
Ma quello che lo rende utile è un'altra cosa: gli chiedo di scrivermi solo se cambia qualcosa. Un loop che ogni cinque minuti dice «tutto ok» è rumore, e dopo un'ora smetti di leggerlo. Uno che sta zitto finché non succede qualcosa, quando parla lo ascolti.
Non è una routine. Il loop vive nella sessione: parte in un attimo, ma si ferma quando chiudi il terminale. Le routine che girano anche a computer spento le trovi nella guida sulle routine.
1. Come si scrive
In una sessione di Claude Code scrivi /loop, poi l'intervallo, poi il compito. Tipo /loop 5m seguito da cosa controllare.
- L'intervallo è un numero con un'unità: s per i secondi, m per i minuti, h per le ore, d per i giorni. Quindi 5m, 1h, 1d.
- Il passo più corto è un minuto: i secondi vengono arrotondati per eccesso al minuto.
- Se scegli un intervallo strano, tipo 7m o 90m, Claude lo arrotonda al più vicino che riesce a programmare e ti dice quale ha scelto.
Quando lo lanci, Claude ti conferma ogni quanto girerà. Da lì il compito riparte da solo, nella stessa conversazione. Quindi al giro dopo sa cosa ha visto al giro prima, ed è per questo che può dirti se qualcosa è cambiato.
Senza intervallo
Se scrivi /loop e subito il compito, senza intervallo, il ritmo lo decide Claude. Dopo ogni giro sceglie quanto aspettare, da un minuto a un'ora, in base a quello che ha visto: poco se sta per succedere qualcosa, di più se è tutto fermo. Alla fine di ogni giro ti scrive quanto aspetta e perché. E quando il compito è finito, può chiudere il loop da solo.
2. I tre loop
Si copiano così come sono. Cambia solo le parti tra [ ].
Il sito e il deploy
Lo lancio subito dopo un deploy, o quando ho cambiato qualcosa sul server e non mi fido.
/loop 5m apri [indirizzo del sito] e controlla che risponda. Se non risponde o dà errore, leggi i log dell'ultimo deploy e scrivimi cos'è andato storto e cosa proponi. Non cambiare niente senza chiedermelo. Se è tutto come prima, non scrivere niente.
Le ultime tre frasi sono quelle che contano. «Leggi i log dell'ultimo deploy» gli dice dove guardare. «Non cambiare niente senza chiedermelo» evita che si metta a sistemare il server da solo. «Non scrivere niente» lo tiene zitto quando va tutto bene.
Per leggere i log, Claude deve poterci arrivare dalla sessione: con lo strumento da terminale del tuo hosting o con un connettore. Se non ci arriva, il loop controlla solo che il sito risponda. E ogni cinque minuti sono tanti giri: tienilo corto, deve fare una cosa sola.
I test sul ramo principale
Mi serve quando su main arrivano modifiche che non ho fatto io in quel momento: un'altra sessione di Claude, un collaboratore. Ogni ora scarica le novità e rilancia i test.
/loop 1h scarica le ultime modifiche del ramo main e lancia i test. Scrivimi solo se un test che passava adesso fallisce: quale, quale modifica l'ha rotto e la correzione che proponi. Non toccare il codice.
«Solo se un test che passava adesso fallisce» è il filtro: di un test rotto da giorni non ti serve sentirne parlare ogni ora, ti serve sapere cosa si è rotto adesso. «Non toccare il codice» lascia la decisione a te: lui trova e propone, tu scegli.
Una cosa da sapere: questo loop scarica le modifiche nella cartella in cui stai lavorando. Se hai file lasciati a metà, salva il lavoro prima, o fallo girare in una copia separata del progetto.
La risposta che aspetti
Per esempio la revisione dell'App Store. Qui l'intervallo non lo metto: non so quando arriva la risposta, quindi il ritmo lo lascio scegliere a Claude. Quando la risposta arriva, mi dice cosa fare e chiude il loop.
/loop controlla [dove arriva la risposta: la mail collegata, la pagina di stato] se è arrivata la risposta sulla revisione di [nome app]. Quando cambia qualcosa, dimmi cosa dice e cosa devo fare, poi chiudi il loop.
Claude deve poter vedere il posto dove arriva la risposta. Se è la mail, la tua casella deve essere collegata alla sessione con un connettore. Se è una pagina di stato, deve poterla aprire. Prima di lanciare il loop glielo chiedo una volta a mano:
Riesci a vedere [dove arriva la risposta]? Dimmi cosa c'è adesso, senza cambiare niente.
3. Come si ferma
Un loop a intervallo fisso va avanti finché non lo cancelli, o finché non passano sette giorni. Per cancellarlo basta chiederlo a parole. Prima chiedi la lista:
che attività programmate ho?
Claude ti mostra le attività attive, con ogni quanto girano e il compito. Poi gli dici quale togliere:
cancella il controllo del deploy
Un loop senza intervallo, mentre aspetta il giro dopo, lo fermi con Esc: il giro in attesa salta e il loop non riparte. Quelli a intervallo fisso invece restano, e li cancelli chiedendolo come sopra.
4. Prima di lasciarlo girare
Gira solo con la sessione aperta
Il loop gira solo mentre Claude Code è aperto e il computer è acceso. Chiudi il terminale e si ferma. Se un giro arriva mentre Claude è occupato, aspetta; e i giri persi non li recupera: appena è libero ne fa uno solo.
Se chiudi e poi riprendi la sessione con claude --resume o claude --continue, i loop a intervallo fisso tornano, se non sono scaduti. Quelli senza intervallo no: li rilanci con /loop.
Dura al massimo sette giorni
Ogni loop dura al massimo sette giorni da quando l'hai creato, anche quello senza intervallo: fa un ultimo giro e si cancella da solo. Serve a non lasciare in giro un loop dimenticato. Se ti serve più a lungo, rilancialo prima che scada.
Usa i permessi della sessione
Il loop ha gli stessi permessi della sessione in cui lo lanci. Se a un giro Claude deve usare un comando che di solito ti chiede di approvare, si ferma lì e aspetta te. Per questo il primo giro lo guardo e approvo quello che serve, tipo il comando che lancia i test.
A computer spento serve altro
Per le cose che devono girare a computer spento c'è /schedule: crea una routine nel cloud di Anthropic. Serve l'accesso con il tuo account claude.ai e il progetto su GitHub, e parte al massimo una volta all'ora. Come impostarla l'ho spiegato nella guida sulle routine.
Gli errori più comuni
- Non dirgli quando stare zitto: ogni giro ti scrive «tutto ok» e smetti di leggerlo. Scrivi sempre «scrivimi solo se cambia qualcosa».
- Lasciarlo correggere da solo: mentre non guardi può cambiare il server o il codice. Aggiungi «non cambiare niente senza chiedermelo».
- Chiudere il terminale e pensare che continui: il loop vive nella sessione. Per qualcosa che giri a computer spento usa /schedule.
- Mandarlo a guardare un posto che non vede: il loop gira a vuoto. Prima chiedigli una volta a mano se ci arriva.
- Andare via al primo giro: se Claude deve chiederti un permesso, il loop resta fermo ad aspettarti. Guarda il primo giro e approva quello che serve.
- Dimenticare la scadenza: dopo sette giorni il loop si cancella da solo. Se ti serve ancora, rilancialo prima.
Checklist
- Intervallo con l'unità: 5m, 1h, 1d
- Parti tra [ ] cambiate
- «Scrivimi solo se cambia qualcosa» nel prompt
- «Non cambiare niente» nel prompt
- Claude arriva a log, mail o pagina di stato
- Primo giro guardato, permessi approvati
- Segnato quando scadono i sette giorni
Domande frequenti
Posso usare la sessione mentre il loop gira?
Sì. Il loop parte tra un messaggio e l'altro: se un giro arriva mentre Claude sta lavorando per te, aspetta che finisca. Però i giri finiscono nella stessa conversazione, quindi più il prompt è corto e più sta zitto quando non serve, meglio è.
E se mi serve un controllo una volta sola?
Non serve /loop. Scrivilo a parole, tipo «tra 45 minuti controlla se i test sono passati»: Claude programma un solo controllo, che si cancella da solo dopo essere partito.