/loop (/proactive) în Claude Code CLI

Skill-uri Incluse Claude Code 2.1+

Skill inclus care rulează un prompt în mod repetat cât timp sesiunea rămâne deschisă, la un interval fix sau la unul ales de Claude.

Sintaxă & invocare
/loop [interval] [prompt]   (alias: /proactive)

Ce face /loop (/proactive)

/loop este un skill inclus (bundled) în Claude Code, nu o comandă încorporată: îi dă lui Claude instrucțiuni, iar Claude programează sarcina. Este cea mai rapidă cale de a repeta un prompt în sesiune, de exemplu ca să urmărești un deploy sau un PR. Sarcinile țin de sesiune: rulează doar cât Claude Code este pornit și liber, între tururile tale, niciodată în mijlocul unui răspuns.

Ce îi dai stabilește comportamentul. Cu interval și prompt (/loop 5m verifică deploy-ul), promptul rulează la program fix: Claude transformă intervalul într-o expresie cron. Unitățile sunt s, m, h și d; secundele se rotunjesc în sus la minut, iar intervalele care nu se potrivesc pe un pas cron (de exemplu 7m sau 90m) se rotunjesc, iar Claude îți spune ce a ales. Doar cu prompt, Claude alege după fiecare iterație o pauză între un minut și o oră. Fără prompt, rulează promptul de mentenanță încorporat: continuă munca neterminată, se ocupă de PR-ul ramurii curente (comentarii, CI picat, conflicte), apoi face treceri de curățenie.

Poți înlocui promptul de mentenanță cu un fișier loop.md: .claude/loop.md în proiect (are prioritate) sau ~/.claude/loop.md pentru toate proiectele. Modificările intră la următoarea iterație, iar conținutul de peste 25.000 de octeți este trunchiat. Sarcinile recurente expiră după 7 zile. Variabila CLAUDE_CODE_DISABLE_CRON=1 oprește complet programarea, inclusiv /loop.

Sintaxă și opțiuni

Opțiune / Parametru Descriere
[interval] Opțional. Un token la început, ca 30m, sau o propoziție la final, ca „every 2 hours”. Fără interval, Claude alege singur pauza (între 1 minut și 1 oră).
[prompt] Opțional. Ce rulează la fiecare iterație; poate fi și un skill, de exemplu /loop 20m /review-pr 1234. Fără prompt rulează promptul de mentenanță sau loop.md.

Exemple practice de terminal

Exemplul 1: Verificarea unui deploy la fiecare 5 minute

Claude programează sarcina și confirmă ritmul și ID-ul sarcinii.

> /loop 5m verifică dacă deploy-ul s-a terminat și spune-mi ce s-a întâmplat

Exemplul 2: Interval ales de Claude

Claude așteaptă puțin cât CI-ul rulează și mai mult când PR-ul e liniștit. Pauza aleasă și motivul apar la finalul fiecărei iterații.

> /loop verifică dacă CI-ul a trecut și rezolvă comentariile de review

Exemplul 3: Promptul de mentenanță, la interval fix

Un /loop simplu rulează promptul de mentenanță la interval dinamic; cu 15m îl rulează la program fix.

> /loop 15m

Greșeli frecvente și bune practici

  • Încerci să oprești o buclă cu interval fix (de exemplu /loop 5m) cu Esc sau Ctrl+C. Nu funcționează: cere-i lui Claude s-o anuleze („anulează bucla care verifică deploy-ul”). Esc oprește doar bucla cu interval ales de Claude, cât așteaptă următoarea iterație.
  • Închizi terminalul și te aștepți ca bucla să continue. Sarcinile rulează doar cu sesiunea deschisă; pentru programare independentă de sesiune folosește rutinele din cloud (/schedule) sau sarcinile programate din Desktop.
  • Dai ca prompt o comandă încorporată (/model, /clear) sau /verify: la fiecare rulare programată acestea ajung la Claude ca text simplu, nu se execută.

Comenzi înrudite