course
Fiecare sarcină recurentă Claude Code are același cost. Gândește-te la un review de PR peste noapte, un audit săptămânal al dependențelor sau o verificare a documentației înainte de lansare. Fiecare îți cere să fii la terminal cu o sesiune deschisă, urmărind rularea. Închizi laptopul, iar munca te așteaptă.
Rutinele elimină acest cost.
O rutină rulează Claude Code în cloud, pe infrastructură administrată de Anthropic, astfel încât continuă să funcționeze când laptopul tău este închis. Scrii sarcina o singură dată, o îndrepți către repository-urile tale și pornește după un program sau un eveniment fără să fie nevoie de o sesiune deschisă.
Acest tutorial te ghidează pentru a-ți construi prima rutină. Vei crea o rutină programată, o vei urmări cum rulează, apoi îi vei extinde aria și capabilitățile.
Dacă vrei să mergi mai în profunzime, cursul nostru practic Claude Code in Action acoperă totul, de la managementul contextului și plan mode până la comenzi personalizate, servere MCP, hooks și SDK.
Ce sunt rutinele Claude Code?
O rutină este o configurație Claude Code salvată: un prompt, unul sau mai multe repository-uri și un set de conectori. O împachetezi o dată și rulează automat pe infrastructura cloud administrată de Anthropic.
Cele trei părți au fiecare un rol specific:
- Prompt. Cea mai importantă parte, deoarece rutina rulează fără aprobarea ta la fiecare pas. Promptul trebuie să conțină întreaga sarcină și definiția criteriilor de finalizare.
- Repository-uri. Claude le clonează la începutul fiecărei rulari și își face treaba în interiorul lor.
- Conectori. Integrările claude.ai din contul tău, precum Slack sau Linear, din care rutina poate citi și în care poate scrie în timpul unei rulari. Una care sortează tichete de suport ar putea citi un canal Slack și crea issue-uri în Linear.
Conectorii pentru rutine sunt adăugați pe platforma claude.ai, la fel și serverele MCP. Configurările tale locale nu se transferă.

O rutină poate porni în trei moduri: după un program, printr-un apel API sau printr-un eveniment GitHub. O singură rutină le poate combina pe toate trei.
Rutine versus /loop
Există o diferență între /loop și /schedule pentru că rezolvă probleme diferite.
O sarcină /loop trăiește în sesiunea ta curentă. Pornește doar cât timp Claude Code rulează și este inactiv pe mașina ta, iar închiderea terminalului o oprește. Asta o face bună pentru a interoga periodic un build pe care îl urmărești acum.
Pentru mai multe informații despre /loop și alte comenzi importante, îți recomand să citești tutorialul nostru Claude Code Terminal.
O rutină rulează în cloud și rămâne independentă de orice sesiune:
|
|
Rutină în cloud |
|
|
Rulează pe |
Cloud Anthropic |
Mașina ta |
|
Mașină necesară |
Nu |
Da |
|
Sesiune necesară |
Nu |
Da |
|
Interval minim |
1 oră |
1 minut |
Există și o a treia opțiune locală. Sarcinile programate pe desktop rulează pe propriul tău computer, pentru munca ce are nevoie de fișierele și uneltele tale locale. Rulează doar cât timp mașina este activă, dar nu necesită ca aplicația Claude să fie deschisă.
Rutina pe care o vom construi
Modelul mental este setat. Acum ai nevoie de ceva pe care să lucreze o rutină. Pentru acest tutorial, am creat pr-review-demo, un proiect Python mic, cu un pull request deschis.
Are un pachet cartlib care gestionează un coș de cumpărături: stochează prețurile ca cenți întregi, aplică reduceri pentru membri și achiziții în volum și adaugă taxa de vânzare pe stat pentru a ajunge la suma finală. Pachetul de pe branch-ul principal este corect.
Pull request-ul deschis adaugă un cupon de livrare gratuită și conține un bug real pe care l-am introdus intenționat. Este o nepotrivire de unități între fișiere, invizibilă într-un singur fișier și vizibilă doar când urmărești valoarea între două. Asta oferă rutinei ceva real de făcut pentru restul tutorialului.
Fă un fork la repo ca să urmărești pe propria ta copie. Este de aruncat, iar tiparele se transferă la orice repository către care îndrepți o rutină.
Condiții prealabile pentru a urmări
Ai nevoie de un cont claude.ai pe un plan Pro, Max, Team sau Enterprise, cu Claude Code pe web activat. Rutinele se află la claude.ai/code/routines.
Comanda /schedule se autentifică folosind login-ul abonamentului tău claude.ai, nu o cheie API Anthropic sau autentificare Bedrock, Vertex ori Foundry. Are nevoie și de un CLI recent, așa că rulează claude update dacă al tău este vechi.
Există și două condiții prealabile separate pentru GitHub. Mai întâi, /web-setup acordă acces de clonare, de care are nevoie rutina programată. În al doilea rând, aplicația Claude GitHub, instalată separat, activează triggerul GitHub prezentat mai târziu.
Construirea rutinelor Claude Code cu /schedule
Având un repo la care să indici, construiește rutina din CLI. Rulează /schedule în orice sesiune. Poți trece o descriere direct:
/schedule daily PR review at 9 am
Claude parcurge apoi aceleași câmpuri pe care le colectează formularul web: nume, prompt, repository, mediu, conectori și program. Confirmă programul în fusul tău orar local și îl convertește pentru tine, astfel încât 9 dimineața devine expresia cron corectă fără să o scrii tu.

Dacă contul tău nu are încă o conexiune GitHub, Claude îți cere să rulezi /web-setup. Rulează-l, apoi rulează /schedule din nou pentru a continua de unde ai rămas.
Scrierea unui prompt care rulează fără tine
Promptul determină dacă această rutină reușește sau eșuează.
O sesiune normală este o conversație, deci îl poți corecta pe Claude pe parcurs. O rutină nu are pe nimeni care s-o corecteze. Pornește rece, rulează până la capăt și nu poate pune o întrebare de clarificare. Promptul trebuie să numească sarcina, repository-ul și cum arată o rulare finalizată.
Compară aceste două. Primul lasă prea multe nespuse:
Review the open PR.
Nu numește un repo sau criterii de review, nu are un loc unde să lase comentarii și nu are o definiție a finalizării. O rulare rece nu poate umple aceste goluri. Al doilea prompt răspunde la toate:
Review the open pull request in pr-review-demo. The cartlib package works entirely in integer cents. Read the checkout flow and the values it pulls from config.py, and check that every amount stays in cents end to end. If any value is mixed in using the wrong unit, leave an inline comment on that line explaining the error and its effect on the customer's total. Then, post a summary comment stating whether the PR is safe to merge.
Acest prompt numește repo-ul și indică invariantul pe care codul trebuie să-l respecte: fiecare sumă în cenți. Arată către cele două fișiere importante și definește finalizarea ca un comentariu inline plus un verdict de îmbinare. Asta oferă rularii o țintă pe care o poate atinge singură. Lipește-l când /schedule întreabă ce ar trebui să facă agentul.
Toți conectorii tăi sunt incluși implicit, deci o rutină nouă poate deja accesa tot ce conectează contul tău. E în regulă deocamdată, iar o secțiune ulterioară va restrânge lista.
Când finalizezi fluxul, Claude salvează rutina și confirmă că este activă, cu repository-ul, programul, modelul și ora următoarei rulari.

Rutina apare de asemenea în lista de la claude.ai/code/routines. Deschide pagina ei de detalii pentru a vedea totul într-un singur loc. Asta include statusul, repository-ul, programul, conectorii, promptul complet și un buton Rulează acum.

Apasă Rulează acum ca să o rulezi imediat, în loc să aștepți până la 9.
Citirea rularii
Rularea pornește de la un clone proaspăt al repository-ului tău, tras din branch-ul implicit. Tot ce ai comis e acolo. Tot ce ai configurat doar pe mașina ta nu este, astfel încât rutina vede repo-ul așa cum l-ar vedea colegii tăi.
După ce termină, lista de rulări arată un status verde. Verde înseamnă că sesiunea a rulat și a ieșit fără o eroare de infrastructură. Totuși nu înseamnă că sarcina din prompt a reușit. Trei tipuri de eșec se ascund în spatele bifei verzi și apar doar în transcript:
- O cerere de rețea blocată de mediu.
- Un instrument de la un conector pe care rutina îl aștepta, dar la care nu a putut ajunge.
- Un eșec la nivel de sarcină, unde rularea s-a încheiat curat, dar a făcut lucrul greșit.

Așa că deschide rularea pentru a o confirma. Dă click pe orice rulare pentru a o citi ca pe o sesiune completă, unde poți vedea ce a făcut Claude, poți revizui diff-ul, deschide un pull request sau continua conversația.
Pe repo-ul demo, transcriptul arată problema descoperită. Claude citește checkout.py și găsește că cuponul are atribuit 5 în loc de 500. Explică faptul că asta aplică 5$ ca 5 cenți, taxând în plus clientul cu 4,95$ per comandă, și oferă corecția într-o singură linie. Apoi postează review-ul pe PR prin conectorul GitHub.

Administrarea rutinelor Claude Code din CLI
Odată ce o rutină există, o administrezi din aceeași comandă. Rulează /schedule list pentru a le vedea pe toate, /schedule update pentru a modifica una și /schedule run pentru a porni una imediat.
Preset-urile de program sunt hourly, daily, weekdays și weekly. Pentru un interval personalizat, cum ar fi la fiecare 2 ore sau în prima zi a fiecărei luni, alege mai întâi preset-ul cel mai apropiat. Apoi rulează /schedule update pentru a seta direct o expresie cron. Intervalul minim este 1 oră, iar orice mai rapid este respins.
Rutinele se contorizează și în limita zilnică de rulări a contului tău, iar în timpul previzualizării de cercetare, evenimentele GitHub au plafoane orare. Evenimentele peste plafon sunt abandonate, nu puse în coadă. Numerele actuale variază în funcție de plan și apar la claude.ai/code/routines.
CLI-ul creează doar rutine programate. Pentru a adăuga un trigger GitHub sau API, editează rutina în aplicația web.
Pornirea rutinelor Claude Code din GitHub și HTTP
Programul pornește rutina la oră fixă. Alte două triggere permit GitHub sau propriilor tale sisteme să pornească aceeași rutină. O rutină de review PR poate rula noaptea, reacționa la fiecare PR nou și porni dintr-un script de deploy, toate în același timp.
Le adaugi pe ambele editând rutina la claude.ai/code/routines.
Reacționează la pull request-uri cu un trigger GitHub
Triggerul GitHub necesită aplicația Claude GitHub instalată pe repository-ul la care vrei să te abonezi. Dacă aplicația lipsește, configurarea triggerului îți cere să o instalezi. Reține că /web-setup de mai devreme acordă doar acces de clonare. Nu instalează aplicația și nu livrează webhook-uri, deci rularea ei nu acoperă acest pas.
După ce aplicația este instalată, adaugă triggerul și alege un eveniment. Evenimentele cad în două categorii, pull request-uri și lansări, și selectezi o acțiune specifică în interiorul uneia. Interfața scoate în față cele comune ca preset-uri, precum PR opened, PR merged și Release published, plus o opțiune Custom pentru restul.
Apoi restrânge cu filtre. Pentru pull request-uri, poți filtra după autor, titlu, conținut, branch de bază, branch sursă, etichete, is-draft și is-merged. Toate condițiile trebuie să se potrivească pentru ca rutina să pornească.
Operatorul matches regex testează întregul câmp, nu un substring. Pentru a potrivi orice titlu care conține hotfix, scrie .*hotfix.*. Un simplu hotfix potrivește doar un titlu care este exact acesta și nimic altceva.

Triggerul GitHub setat să pornească la un pull request nou, filtrat pe branch-ul main și un autor specific.
Pentru repo-ul demo, setează evenimentul la deschiderea unui pull request și lasă filtrele deschise. Acum fiecare PR nou pornește review-ul pe care l-ai scris mai devreme, fără nimeni la terminal. Urmărește unitatea cuponului între fișiere, lasă un comentariu inline pe bug și postează un verdict de îmbinare.
Fiecare eveniment potrivit își începe propria sesiune, deci două PR-uri la rând produc două rulări independente.
Pornește o rutină prin HTTP
Triggerul API permite uneltelor tale să pornească o rutină. Alege API în selectorul de triggere și apasă Generate token. Tokenul apare o singură dată și nu poate fi recuperat ulterior, așa că stochează-l imediat în magazinul de secrete al instrumentului tău de alertare.
Apoi fă POST către endpoint-ul de pornire al rutinei cu tokenul și un corp text:
curl -X POST https://api.anthropic.com/v1/claude_code/routines/$ROUTINE_ID/fire \
-H "Authorization: Bearer $ROUTINE_TOKEN" \
-H "anthropic-version: 2023-06-01" \
-H "anthropic-beta: experimental-cc-routine-2026-04-01" \
-H "Content-Type: application/json" \
-d '{"text": "Sentry alert SEN-4521 fired in prod. Stack trace attached."}'
Valoarea text este transmisă ca șir literal și nu este parsată, așa că scrie proză simplă, nu JSON. Inputul structurat ajunge ca text brut, iar rutina îl citește ad litteram.
Headerul anthropic-beta este obligatoriu, iar API-ul este experimental, așa că verifică referința API înainte de a-l integra în CI. De acolo, un instrument de monitorizare poate apela acest endpoint la o alertă și poate face rutina să deschidă singură un PR de corecție în draft.
Limitarea accesului rutinei Claude Code
O rutină rulează singură, așa că înainte de a o îndrepta către un repo real, restrânge ce poate accesa. Documentația încadrează asta în patru controale:
- Cine este rutina în acțiune, prin identitatea ta GitHub și conectori.
- La ce branch-uri poate face push.
- Ce conectori poate folosi.
- Ce gazde îi permite mediul să acceseze prin rețea.
Definește fiecare la ceea ce rutina chiar are nevoie.
Identitatea rutinei
Identitatea este prima pentru că asta observă un coleg pe un repo partajat. Tot ce face o rutină prin identitatea ta GitHub sau prin conectorii tăi apare ca fiind făcut de tine.
Commit-urile și pull request-urile poartă utilizatorul tău GitHub, iar mesajele Slack și tichetele Linear folosesc conturile tale conectate. Colegii îți văd numele pe acele commit-uri și PR-uri, așa că denumește branch-urile și titlurile într-un mod care să semnaleze că au fost create de o rutină.
Branch-urile pe care rutina poate face push
Branch-urile vin apoi. O rulare este o sesiune completă în cloud, fără prompturi de permisiune, deci nu se oprește niciodată să întrebe înainte de a edita un fișier sau a deschide un pull request.
Parapetul este branch-ul pe care poate scrie. Implicit, Claude face push doar către branch-uri prefixate cu claude/, ceea ce îl ține departe de branch-uri protejate sau pe termen lung, precum main.
O setare per-repository, Allow unrestricted branch pushes, elimină această restricție. Activeaz-o deliberat, doar pentru un repo care chiar are nevoie.
Conectorii pe care rutina îi poate folosi
Conectorii sunt cei mai riscanți dintre cele patru. Toți conectorii tăi claude.ai sunt incluși implicit, iar Claude poate folosi orice instrument al unuia inclus, inclusiv acțiuni de scriere, fără a întreba în timpul unei rulari.
Așadar, restrânge lista la ceea ce rutina are nevoie. O rutină de review PR are nevoie de GitHub și puțin altceva. Un conector rătăcit de email sau calendar este un acces de care rutina nu se folosește, iar o injecție de prompt ascunsă într-un PR ar putea întoarce acel acces împotriva ta.

Accesul la rețea
Accesul la rețea este ultimul control. Mediul implicit folosește acces de rețea de încredere, care ajunge la o listă predefinită de registre de pachete, API-uri ale furnizorilor de cloud, registre de containere și domenii uzuale de dezvoltare, și blochează restul.
O cerere blocată eșuează cu 403 și un x-deny-reason: host_not_allowed. Lărgește accesul doar când rutina trebuie să ajungă la serviciile tale. Altfel, eșecul este discret, apărând în transcript mai degrabă decât ca o eroare evidentă.
Idei de rutine Claude Code pe care să le construiești în continuare
Poți construi, porni și limita o rutină. Aceste exemple din documentația oficială împerechează fiecare o sarcină cu triggerul potrivit:
- Code review personalizat. Trigger GitHub la deschiderea unui PR. Aplică checklist-ul echipei tale de review, lasă comentarii inline pentru securitate, performanță și stil și adaugă un rezumat. Acesta este demo-ul, generalizat la standardele tale reale.
- Întreținere backlog. Trigger programat, în fiecare seară din timpul săptămânii. Citește issue-urile deschise de la ultima rulare, aplică etichete, atribuie responsabili pe baza zonei de cod la care face referire fiecare issue și postează un rezumat pe Slack.
- Verificare după deploy. Trigger API din pipeline-ul tău de CD după fiecare deploy în producție. Rulează smoke checks pe noul build, scanează jurnalele de erori pentru regresii și postează un go sau no-go în canalul de release.
- Derivă în documentație. Trigger programat, săptămânal. Scanează PR-urile îmbinate de la ultima rulare, semnalează documentația ce face referire la API-uri schimbate și deschide PR-uri de actualizare în repository-ul de docs.
Rutinele se potrivesc muncii neasistate, repetabile și legate de un rezultat clar. Dacă poți scrie criteriile de succes în prompt, așa cum ai făcut pentru review-ul de PR, sarcina este un candidat. Munca ce necesită judecată umană în timp real nu este.
Concluzie
Rutinele îți schimbă modul în care îți petreci timpul cu munca recurentă. În loc să rulezi fiecare sarcină la terminal, o scrii o dată și revezi ce a rulat deja. Review-ul de PR pe care l-ai construit pornește cu laptopul închis, iar tu citești verdictul când ești gata.
Pentru a merge mai departe cu Claude Code, următoarele tutoriale se potrivesc bine cu acesta:
- Cele mai bune practici Claude Code pentru a obține mai mult din fiecare sesiune.
- Scrierea unui fișier CLAUDE.md pentru a oferi rutinei și sesiunilor context comun.
- Dezvoltare condusă de specificații pentru sarcini care merită specificate înainte de a le automatiza.
- Auto mode și canale pentru a rula Claude Code cu mai puțină supraveghere.
Întrebări frecvente despre rutinele Claude Code
Ce este o rutină Claude Code?
O rutină este o configurație Claude Code salvată: un prompt, unul sau mai multe repository-uri și un set de conectori. O împachetezi o dată și rulează automat pe infrastructura cloud administrată de Anthropic, declanșată după un program, printr-un apel API sau de un eveniment GitHub.
Cu ce este diferită o rutină față de /loop?
O sarcină /loop este limitată la sesiune. Rulează doar cât timp Claude Code este deschis și inactiv pe mașina ta, iar închiderea terminalului o oprește. O rutină rulează în cloud și supraviețuiește independent de orice sesiune, astfel încât continuă să funcționeze cu laptopul închis. Intervalul minim este de 1 oră pentru o rutină și 1 minut pentru /loop.
Cum creez o rutină?
Rulează comanda /schedule în orice sesiune Claude Code, de exemplu, /schedule daily PR review at 9 am. Claude parcurge aceleași câmpuri pe care le colectează formularul web (nume, prompt, repository, mediu, conectori și program), apoi salvează rutina în contul tău, unde apare la claude.ai/code/routines.
Poate rula o rutină când laptopul meu este închis?
Da. Rutinele se execută pe infrastructura cloud administrată de Anthropic, nu pe mașina ta, astfel încât o rulare programată sau declanșată se încheie chiar și când laptopul tău este închis. Poți urmări o rulare din web sau îi poți verifica transcriptul ulterior.
Cum controlez la ce poate avea acces o rutină?
Limitează rutina prin patru controale: identitatea în numele căreia acționează, branch-urile pe care poate face push, conectorii pe care îi poate folosi și gazdele de rețea la care poate ajunge. Implicit, Claude face push doar către branch-uri prefixate cu claude/, iar toți conectorii tăi sunt incluși, așa că restrânge lista de conectori și lărgește accesul la rețea doar când rutina chiar are nevoie.