- Scheduled: eseguire su una cadenza ricorrente come oraria, notturna o settimanale, oppure una volta a un momento futuro specifico
- API: attivare su richiesta inviando un POST HTTP a un endpoint per routine con un token bearer
- GitHub: eseguire automaticamente in risposta agli eventi del repository come pull request o release
/schedule.
I proprietari di Team ed Enterprise possono disabilitare le routine per tutti i membri con l’interruttore Routines su claude.ai/admin-settings/claude-code. Quando disabilitate, le routine esistenti smettono di funzionare e i membri non possono crearne di nuove.
Questa pagina copre la creazione di una routine, la configurazione di ogni tipo di trigger, la gestione delle esecuzioni e come si applicano i limiti di utilizzo.
Esempi di casi d’uso
Ogni esempio abbina un tipo di trigger al tipo di lavoro per cui le routine sono adatte: incustodito, ripetibile e legato a un risultato chiaro. Manutenzione del backlog. Un trigger di pianificazione viene eseguito ogni sera feriale rispetto al tuo issue tracker tramite un connector. La routine legge i problemi aperti dall’ultima esecuzione, applica etichette, assegna proprietari in base all’area di codice referenziata e pubblica un riepilogo su Slack in modo che il team inizi la giornata con una coda curata. Triage degli avvisi. Il tuo strumento di monitoraggio chiama l’endpoint API della routine quando viene superata una soglia di errore, passando il corpo dell’avviso cometext. La routine estrae la traccia dello stack, la correla con i commit recenti nel repository e apre una pull request in bozza con una correzione proposta e un collegamento all’avviso. L’on-call esamina il PR invece di iniziare da un terminale vuoto.
Revisione del codice personalizzata. Un trigger GitHub viene eseguito su pull_request.opened. La routine applica la tua lista di controllo di revisione del team, lascia commenti inline per problemi di sicurezza, prestazioni e stile e aggiunge un commento di riepilogo in modo che i revisori umani possano concentrarsi sulla progettazione invece di controlli meccanici.
Verifica della distribuzione. La tua pipeline CD chiama l’endpoint API della routine dopo ogni distribuzione in produzione. La routine esegue controlli di fumo rispetto alla nuova build, scansiona i log degli errori per regressioni e pubblica un go o no-go nel canale di rilascio prima che la finestra di distribuzione si chiuda.
Drift della documentazione. Un trigger di pianificazione viene eseguito settimanalmente. La routine scansiona i PR uniti dall’ultima esecuzione, contrassegna la documentazione che fa riferimento alle API modificate e apre PR di aggiornamento rispetto al repository della documentazione per un editor da rivedere.
Porting della libreria. Un trigger GitHub viene eseguito su pull_request.closed filtrato per PR uniti in un repository SDK. La routine porta la modifica a un SDK parallelo in un’altra lingua e apre un PR corrispondente, mantenendo le due librerie sincronizzate senza che un umano reimplementi ogni modifica.
Creare una routine
Crea una routine dal web su claude.ai/code/routines, dall’app Desktop o dalla CLI. Tutte e tre le superfici scrivono nello stesso account cloud, quindi una routine che crei in una appare nelle altre immediatamente. Nell’app Desktop, nella scheda Code, fai clic su Routines nella barra laterale o nel menu More della barra laterale, quindi su New routine, e scegli Cloud; scegliere Local invece crea un Desktop scheduled task, che viene eseguito sulla tua macchina piuttosto che nel cloud. Il modulo di creazione configura il prompt della routine, i repository, l’ambiente, i connector e i trigger. Le routine vengono eseguite autonomamente come sessioni cloud complete di Claude Code: non c’è un selettore di modalità di permesso e la sessione esegue comandi shell, utilizza le skill di cui è stato fatto il commit nel repository clonato e chiama qualsiasi connettore incluso, il tutto senza fermarsi per l’approvazione a parte alcune azioni sugli artefatti. Ciò che una routine può raggiungere è determinato dai repository che selezioni, dall’ambiente accesso di rete e variabili, e dai connector che includi. Delimita ognuno di questi a ciò di cui la routine ha effettivamente bisogno. Le routine appartengono al tuo account claude.ai individuale. Non sono condivise con i compagni di squadra e i loro run contano rispetto ai limiti e all’utilizzo del tuo account. Tutto ciò che una routine fa attraverso la tua identità GitHub connessa o i connector appare come te: i commit e le pull request portano il tuo utente GitHub e i messaggi Slack, i ticket Linear o altre azioni del connector utilizzano i tuoi account collegati per quei servizi.Creare dal web
Apri il modulo di creazione
Nomina la routine e scrivi il prompt
Seleziona i repository
claude/ per le sue modifiche.Seleziona un ambiente
- Network access: imposta il livello di accesso a Internet disponibile durante ogni esecuzione
- Environment variables: fornisci valori che Claude può utilizzare durante ogni esecuzione. Sono visibili a chiunque utilizzi l’ambiente, quindi nei piani Pro e Max archivia invece le chiavi per le API che Claude chiama durante un’esecuzione come segreti di rete. Quella sezione elenca anche le richieste che non ricevono mai un segreto
- Setup script: installa le dipendenze e gli strumenti di cui la routine ha bisogno. Il risultato è cached, quindi lo script non viene rieseguito su ogni sessione
Seleziona un trigger
- Schedule
- GitHub event
- API
Rivedi i connector
Crea la routine
Creare dalla CLI
Esegui/schedule in qualsiasi sessione per creare una routine pianificata in modo conversazionale. Puoi anche passare una descrizione direttamente, per una routine ricorrente come /schedule daily PR review at 9am o una una tantum come /schedule clean up feature flag in one week. Claude esamina le stesse informazioni che il modulo web raccoglie, quindi salva la routine nel tuo account. Il comando è disponibile anche con l’alias /routines.
Una partenza riuscita assomiglia a una conversazione: Claude pone domande di follow-up sulla pianificazione, i repository e il prompt prima di salvare. Se Claude invece risponde che devi autenticarti o che non riesce a connettersi al tuo account remoto claude.ai, nessuna routine è stata creata; vedi Troubleshooting.
/schedule nella CLI crea routine pianificate. Per aggiungere un trigger API, modifica la routine sul web su claude.ai/code/routines. Puoi aggiungere un GitHub trigger dal web o dalla CLI. Il percorso CLI richiede Claude Code v2.1.225 o successivo.
Una routine senza trigger di pianificazione, come una avviata solo da chiamate API o eventi GitHub, non ha un’ora di esecuzione successiva, e la CLI non mostra nulla quando Claude la salva o l’aggiorna. Prima della v2.1.211, la CLI segnalava un’ora di esecuzione successiva nell’anno 1 per queste routine.
Configurare i trigger
Una routine inizia quando uno dei suoi trigger corrisponde. Puoi allegare qualsiasi combinazione di trigger di pianificazione, API e GitHub alla stessa routine e aggiungerli o rimuoverli in qualsiasi momento dalla sezione Select a trigger del modulo di modifica della routine.Aggiungi un trigger di pianificazione
Un trigger di pianificazione esegue la routine su una cadenza ricorrente, o una sola volta a un momento futuro specifico. Scegli una frequenza preimpostata nella sezione Select a trigger: oraria, giornaliera, giorni feriali o settimanale. I tempi vengono inseriti nella tua zona locale e convertiti automaticamente, quindi la routine viene eseguita a quell’ora di parete indipendentemente da dove si trova l’infrastruttura cloud. Se pianifichi un’esecuzione esattamente all’ora, ad esempio le 9:00, potrebbe iniziare alcuni minuti dopo. Per iniziare vicino all’ora pianificata, scegli alcuni minuti dopo l’ora, ad esempio le 9:07. Per un intervallo personalizzato come ogni due ore o il primo di ogni mese, scegli il preset più vicino nel modulo, quindi esegui/schedule update nella CLI per impostare un’espressione cron specifica. L’intervallo minimo è un’ora; le espressioni che vengono eseguite più frequentemente vengono rifiutate.
Pianifica un’esecuzione una tantum
Una pianificazione una tantum attiva la routine una sola volta a un timestamp specifico. Usala per ricordarti più tardi nella settimana, per aprire una PR di pulizia dopo che un rollout finisce, o per avviare un’attività di follow-up quando un cambiamento upstream arriva. Dopo che la routine si attiva, si disabilita automaticamente e l’interfaccia utente web la contrassegna come Ran. Per eseguirla di nuovo, modifica la routine e imposta un nuovo orario una tantum. Crea un’esecuzione una tantum dalla CLI descrivendo l’ora in linguaggio naturale. Claude risolve la frase rispetto all’ora attuale e conferma il timestamp assoluto prima di salvare.Aggiungi un trigger API
Un trigger API fornisce a una routine un endpoint HTTP dedicato. POSTing all’endpoint con il token bearer della routine avvia una nuova sessione e restituisce un URL di sessione. Usalo per collegare Claude Code nei sistemi di avviso, pipeline di distribuzione, strumenti interni o ovunque tu possa fare una richiesta HTTP autenticata. I trigger API vengono aggiunti a una routine esistente dal web. La CLI attualmente non può creare, rigenerare o eliminare token.Apri la routine per la modifica
Aggiungi un trigger API
Copia l'URL e genera un token
Chiama l'endpoint
Authorization: Bearer quando POST all’URL. La sezione Trigger a routine di seguito mostra un esempio completo.- Disattiva l’accesso API: fai clic su Delete token, l’icona del cestino accanto a Regenerate
- Ruota il token: fai clic su Regenerate
Attiva una routine
Invia una richiesta POST all’endpoint/fire con il token bearer nell’intestazione Authorization. Il corpo della richiesta accetta un campo text facoltativo per il contesto specifico dell’esecuzione come un corpo di avviso o un log in errore, passato alla routine insieme al suo prompt salvato. Il valore è testo libero e non viene analizzato: se invii JSON o un altro payload strutturato, la routine lo riceve come stringa letterale.
Il valore text non raggiunge la routine come un messaggio nudo. Arriva avvolto in un blocco <routine-fire-payload> che lo etichetta come dati non attendibili e dice a Claude di non seguire le istruzioni al suo interno a meno che il prompt della routine stessa non lo dica. Lo stesso avvolgimento si applica al testo fornito con Run now nell’interfaccia utente web.
Ciò significa che il prompt salvato di una routine deve acconsentire ad agire sul testo di attivazione: scrivi il prompt per fare riferimento al payload in modo esplicito, ad esempio “Investigate the alert described in the routine-fire-payload block”, oppure la routine tratta il testo come contesto inerte. Chiunque detenga il token bearer può inviare text, quindi il wrapper fa sì che il testo di attivazione da un token trapelato arrivi etichettato come dati non attendibili piuttosto che come istruzioni dirette alla tua routine.
L’esempio seguente attiva una routine da una shell. L’ID della routine e il token mostrati sono segnaposti: sostituiscili con l’URL e il token che hai copiato quando hai aggiunto il trigger API, altrimenti la richiesta fallisce con un errore di autenticazione 401:
Riferimento API
Per il riferimento API completo, incluse tutte le risposte di errore, le regole di convalida e i limiti dei campi, vedi Trigger a routine via API nella documentazione della piattaforma Claude. L’endpoint/fire è disponibile solo per gli utenti di claude.ai e non fa parte della superficie dell’API della piattaforma Claude.
Aggiungi un trigger GitHub
Un trigger GitHub avvia una nuova sessione automaticamente quando si verifica un evento corrispondente su un repository connesso. Claude Code non riutilizza le sessioni tra gli eventi, quindi due aggiornamenti PR producono due sessioni indipendenti.- Configura i trigger GitHub dall’interfaccia utente web, che ti chiede di installare l’app quando manca. Segui i passaggi seguenti per configurarne uno sul web.
- Dalla CLI, installa l’app dalla pagina GitHub App per prima, quindi chiedi a Claude di allegare un trigger GitHub a una routine esistente, ad esempio
/schedule add a GitHub trigger to my nightly review for pull requests opened in acme/webapp. Il percorso CLI richiede Claude Code v2.1.225 o successivo. Quando Claude aggiunge il trigger, risponde con un link alla routine che il trigger attiva.
Apri la routine per la modifica
Aggiungi un trigger di evento GitHub
/web-setup nella CLI concede l’accesso al repository per la clonazione, ma non installa l’app Claude GitHub e non abilita la consegna del webhook.Configura il trigger
Eventi supportati
I trigger GitHub possono sottoscriversi a una delle seguenti categorie di eventi. All’interno di ogni categoria puoi scegliere un’azione specifica, comepull_request.opened, o reagire a tutte le azioni nella categoria.
Filtra le pull request
Usa i filtri per restringere quali pull request avviano una nuova sessione. Tutte le condizioni di filtro devono corrispondere affinché la routine si attivi. I campi di filtro disponibili sono:matches regex testa l’intero valore del campo, non una sottostringa al suo interno. Per abbinare qualsiasi titolo contenente hotfix, scrivi .*hotfix.*. Senza il .* circostante, il filtro corrisponde solo a un titolo che è esattamente hotfix senza nulla prima o dopo. Per l’abbinamento di sottostringa letterale senza sintassi regex, usa l’operatore contains.
Alcuni esempi di combinazioni di filtri:
- Auth module review: base branch
main, head branch containsauth-provider. Invia qualsiasi PR che tocca l’autenticazione a un revisore focalizzato. - Ready-for-review only: is draft is
false. Salta le bozze in modo che la routine venga eseguita solo quando il PR è pronto per la revisione. - Label-gated backport: labels include
needs-backport. Attiva una routine di port-to-another-branch solo quando un manutentore etichetta il PR.
Gestire le routine
Fare clic su una routine nell’elenco per aprire la relativa pagina di dettaglio. La pagina di dettaglio mostra i repository della routine, i connettori, il prompt, la pianificazione, i token API, i trigger GitHub e un elenco delle esecuzioni passate.Visualizzare e interagire con le esecuzioni
Fare clic su qualsiasi esecuzione per aprirla come sessione completa. Da lì è possibile vedere cosa ha fatto Claude, esaminare le modifiche, creare una pull request o continuare la conversazione. Ogni sessione di esecuzione funziona come qualsiasi altra sessione: utilizzare il menu a discesa accanto al titolo della sessione per rinominare, archiviare o eliminare.Modificare e controllare le routine
Dalla pagina di dettaglio della routine è possibile:- Fare clic su Run now per avviare un’esecuzione immediatamente senza attendere l’orario pianificato successivo. È possibile fornire facoltativamente un testo specifico dell’esecuzione, che raggiunge la routine nello stesso modo del campo
textdel trigger API. - Utilizzare l’interruttore on/off nella parte superiore della pagina per mettere in pausa o riprendere la pianificazione. Le routine in pausa mantengono la loro configurazione ma non vengono eseguite finché non le abilitate di nuovo.
- Aprire il menu accanto al nome della routine e selezionare Edit per modificare il nome, il prompt, i repository, l’ambiente, i connettori o uno qualsiasi dei trigger della routine. La sezione Select a trigger è dove aggiungere o rimuovere pianificazioni, token API e trigger di eventi GitHub.
- Aprire lo stesso menu e selezionare Delete per eliminare la routine.
Gestire le routine dalla CLI
La CLI supporta la gestione delle routine esistenti. Eseguire/schedule list per visualizzare tutte le routine, /schedule update per modificarne una, o /schedule run per attivarla immediatamente.
È inoltre possibile chiedere informazioni sulla cronologia delle esecuzioni di una routine, ad esempio /schedule why did my nightly review do nothing this morning?. Claude elenca le esecuzioni recenti della routine con il loro stato e un collegamento per aprire ogni esecuzione sul web, e legge il log di un’esecuzione per spiegare cosa è accaduto, inclusi gli errori degli strumenti, i rifiuti di autorizzazione e il risultato finale. Richiede Claude Code v2.1.227 o versione successiva.
Repository e autorizzazioni dei rami
Le routine necessitano dell’accesso a GitHub per clonare i repository. Quando crei una routine dalla CLI con/schedule, Claude verifica se il tuo account ha accesso a GitHub per il repository da cui l’hai eseguita e, se non lo ha, aggiunge una nota di configurazione che indica come concedere l’accesso. Consulta Opzioni di autenticazione GitHub per i due modi per concedere l’accesso. Nei piani Team ed Enterprise, un Owner della tua organizzazione Claude deve attivare ciascun metodo prima che tu possa usarlo; consulta Connettere GitHub.
Se la connessione GitHub è mancante o scaduta quando un’esecuzione è dovuta, la routine salta le esecuzioni finché non si riconnette, fino a 72 ore. Riconnettere GitHub entro quella finestra e la routine riprende automaticamente. Dopo 72 ore senza una connessione, la routine si disattiva e la si riattiva dopo aver riconnesso GitHub.
Ogni repository che aggiungi viene clonato a ogni esecuzione. Claude parte dal branch predefinito del repository a meno che il tuo prompt non specifichi diversamente. Se un evento pull request di GitHub attiva l’esecuzione e il repository della pull request è il primo repository della routine, quel repository parte invece dal commit di testa della pull request.
Claude esegue il push del suo lavoro su un branch con prefisso claude/ a meno che il tuo prompt non gli indichi di eseguire il push su un altro branch. Per controllare su quali branch un’esecuzione può eseguire il push, usa le regole di protezione dei branch o i ruleset su GitHub. Per le esecuzioni sull’infrastruttura gestita da Anthropic, e per le esecuzioni self-hosted che eseguono il push tramite il proxy git di Anthropic, GitHub le applica all’accesso GitHub che hai connesso, quindi una regola che quell’accesso può aggirare non blocca il push di un’esecuzione. Un’esecuzione self-hosted che esegue il push con le credenziali git fornite dal tuo deploy viene invece verificata rispetto a quelle. Consulta Configurare git.
Connettori
Le routine possono utilizzare i connettori MCP connessi per leggere e scrivere su servizi esterni durante ogni esecuzione. Ad esempio, una routine che triage le richieste di supporto potrebbe leggere da un canale Slack e creare problemi in Linear. I connettori sono le integrazioni di claude.ai sul vostro account. I server MCP aggiunti localmente nella CLI conclaude mcp add sono archiviati sulla vostra macchina piuttosto che sul vostro account claude.ai, quindi non vengono visualizzati nell’elenco dei connettori. Per utilizzare uno di questi server in una routine, aggiungetelo come connettore su claude.ai/customize/connectors. Per una routine con un repository, è possibile invece dichiararlo in un .mcp.json sottoposto a commit in modo che faccia parte del repository clonato.
Quando si crea una routine, tutti i connettori attualmente connessi vengono inclusi per impostazione predefinita. Rimuovere quelli non necessari per limitare a quali strumenti Claude ha accesso durante l’esecuzione. È inoltre possibile aggiungere connettori direttamente dal modulo della routine.
Per gestire o aggiungere connettori al di fuori del modulo della routine, visitare claude.ai/customize/connectors o utilizzare /schedule update nella CLI.
Quando un’esecuzione pubblica un artefatto senza chiedere
Quando la pianificazione di una routine o Run now avvia un’esecuzione, Claude può pubblicare un nuovo artefatto senza chiedere. Il nuovo artefatto è visibile solo a te finché non lo condividi. Se la pubblicazione dichiara capacità di runtime per la pagina, come chiamate ai connettori o download di file, Claude chiede prima. In queste esecuzioni, Claude ripubblica un artefatto esistente senza chiedere solo quando tutte queste condizioni sono soddisfatte:- Puoi modificare l’artefatto e questo appartiene alla tua organizzazione
- Se la pubblicazione include più della sola pagina, ad esempio file di supporto, l’artefatto è di tua proprietà
- L’artefatto non è condiviso pubblicamente
- Se l’artefatto è condiviso con persone specifiche o con la tua organizzazione, chi lo visualizza non vede automaticamente ogni nuova versione
- La pubblicazione non sovrascrive forzatamente una versione più recente
- La pubblicazione non dichiara capacità di runtime per la pagina
- La pagina esistente non contiene alcuna concessione che vada oltre la pagina stessa, come le chiamate ai connettori
Ambienti e accesso alla rete
Ogni routine utilizza un ambiente cloud che controlla l’accesso alla rete, le variabili di ambiente e gli script di configurazione. La routine eredita la politica di rete dell’ambiente ad ogni esecuzione. L’ambiente Default utilizza l’accesso alla rete Trusted, che consente solo l’elenco di autorizzazione predefinito attraverso la rete della sessione. Le richieste su quel percorso agli host al di fuori dell’elenco di autorizzazione non riescono con403 e x-deny-reason: host_not_allowed. Il traffico del connettore MCP viene instradato attraverso i server di Anthropic piuttosto che su quel percorso, quindi i connettori aggiunti alla routine funzionano senza aggiungere i loro host ai Allowed domains. Rimuovere eventuali connettori non necessari in Connettori.
Per consentire domini aggiuntivi su uno dei vostri ambienti, seguire questi passaggi. Un ambiente condiviso dall’organizzazione si apre in sola lettura qui, quindi un Proprietario cambia il suo accesso alla rete dalla pagina Cloud environments nelle impostazioni di amministrazione.
Aprire la routine per la modifica
Aprire il selettore dell'ambiente
Aprire le impostazioni dell'ambiente
Modifica il livello di accesso alla rete
Salvare
Utilizzo e limiti
Le routine riducono l’utilizzo dell’abbonamento allo stesso modo delle sessioni interattive. Vedi il tuo consumo attuale su claude.ai/settings/usage. Separatamente dall’utilizzo dell’abbonamento, ogni modo di avviare un’esecuzione ha un limite orario:Troubleshooting
/schedule restituisce “Unknown command”
La CLI nasconde /schedule quando uno dei suoi requisiti non è soddisfatto: il menu dei comandi mostra No commands match "/schedule" mentre digitate, e l’invio restituisce Unknown command: /schedule, tranne nei casi sottostanti che indicano una risposta diversa.
La causa è solitamente una delle seguenti:
- Siete autenticati con una chiave API Console, un profilo Anthropic o credenziale di federazione, o un provider cloud come Amazon Bedrock, Google Cloud’s Agent Platform, o Microsoft Foundry.
/schedulerichiede un accesso con abbonamento claude.ai. Con una chiave API Console o un profilo, e il recupero dei flag di funzionalità abilitato, l’invio di/schedulemostra invece/schedule is available with Claude for Enterprise — ask your admin about migrating from API-key access. Con un accesso da provider cloud, vedete ancoraUnknown command: /schedule. SeANTHROPIC_API_KEYoANTHROPIC_AUTH_TOKENè impostato nella vostra shell, oapiKeyHelperè impostato insettings.json, rimuovetelo prima, poiché questi hanno la precedenza su un accesso claude.ai. Un profilo o credenziale di federazione ha la precedenza anche, quindi disattivate anche quello - Siete completamente disconnessi, senza chiave API o altra credenziale. Con il recupero dei flag di funzionalità abilitato, l’invio di
/schedulemostra/schedule requires a claude.ai subscription. Run /login to sign in with your claude.ai account.Prima della v2.1.268, una sessione disconnessa mostrava lo stesso messaggio Claude for Enterprise di una chiave API Console - Siete all’interno di una sessione cloud, dove l’invio di
/schedulerisponde che il comando non è disponibile in quell’ambiente. Gestite le routine dall’interfaccia web invece - La politica della vostra organizzazione disabilita le sessioni cloud, su cui le routine vengono eseguite. In questo caso, l’invio di
/schedulerispondeCloud sessions are disabled by your organization's policyinvece. Prima della v2.1.268, restituivaUnknown command: /schedule - Un Owner ha disattivato le routine per la vostra organizzazione Team o Enterprise. Prima della v2.1.227, il comando appariva ancora in questo caso, e claude.ai rifiutava la routine quando Claude tentava di crearla o eseguirla
“Routines are disabled by your organization’s policy”
Un Owner nella vostra organizzazione Team o Enterprise ha probabilmente disattivato l’interruttore Routines su claude.ai/admin-settings/claude-code. Su Claude Code v2.1.227 o successivo, lo stesso interruttore nasconde anche/schedule nella CLI. Questa è un’impostazione dell’organizzazione lato server, quindi non può essere ignorata dalla vostra configurazione locale. Chiedete a un Owner di abilitare le routine per la vostra organizzazione.
Risorse correlate
/loope pianificazione in-sessione: pianifica attività locali all’interno di una sessione CLI aperta- Desktop scheduled tasks: attività pianificate locali che vengono eseguite sulla tua macchina con accesso ai file locali
- Cloud environments: configura l’accesso di rete, le variabili di ambiente e gli script di configurazione per le sessioni cloud
- Projects: lavoro in corso che Claude coordina tra sessioni cloud parallele; le routine create da un progetto vengono visualizzate nella scheda Routines
- MCP connectors: connetti servizi esterni come Slack, Linear e Google Drive
- GitHub Actions: esegui Claude nella tua pipeline CI su eventi del repository