Vai al contenuto principale
Le attività pianificate richiedono Claude Code v2.1.72 o versione successiva. Controllare la versione con claude --version.
Le attività pianificate consentono a Claude di rieseguire automaticamente un prompt a intervalli regolari. Utilizzarle per eseguire il polling di una distribuzione, monitorare una PR, controllare una compilazione a lunga esecuzione o ricordarsi di fare qualcosa più tardi nella sessione. Per reagire agli eventi man mano che si verificano invece di eseguire il polling, vedere Channels: il vostro CI può inviare il fallimento direttamente nella sessione. Le attività hanno ambito di sessione: vivono nel processo Claude Code corrente e scompaiono quando si esce. Per la pianificazione durevole che sopravvive ai riavvii, utilizzare Cloud o Desktop attività pianificate, oppure GitHub Actions.

Confrontare le opzioni di pianificazione

Claude Code offers three ways to schedule recurring work:
CloudDesktop/loop
Runs onAnthropic cloudYour machineYour machine
Requires machine onNoYesYes
Requires open sessionNoNoYes
Persistent across restartsYesYesNo (session-scoped)
Access to local filesNo (fresh clone)YesYes
MCP serversConnectors configured per taskConfig files and connectorsInherits from session
Permission promptsNo (runs autonomously)Configurable per taskInherits from session
Customizable scheduleVia /schedule in the CLIYesYes
Minimum interval1 hour1 minute1 minute
Use cloud tasks for work that should run reliably without your machine. Use Desktop tasks when you need access to local files and tools. Use /loop for quick polling during a session.

Pianificare un prompt ricorrente con /loop

Lo skill bundled /loop è il modo più rapido per pianificare un prompt ricorrente. Passare un intervallo facoltativo e un prompt, e Claude configura un processo cron che si attiva in background mentre la sessione rimane aperta.
/loop 5m check if the deployment finished and tell me what happened
Claude analizza l’intervallo, lo converte in un’espressione cron, pianifica il processo e conferma la cadenza e l’ID del processo.

Sintassi dell’intervallo

Gli intervalli sono facoltativi. È possibile iniziare con essi, terminarli o ometterli completamente.
FormExampleParsed interval
Leading token/loop 30m check the buildogni 30 minuti
Trailing every clause/loop check the build every 2 hoursogni 2 ore
No interval/loop check the buildpredefinito ogni 10 minuti
Le unità supportate sono s per secondi, m per minuti, h per ore e d per giorni. I secondi vengono arrotondati al minuto più vicino poiché cron ha una granularità di un minuto. Gli intervalli che non si dividono uniformemente nella loro unità, come 7m o 90m, vengono arrotondati all’intervallo più pulito e Claude vi dice quale ha scelto.

Eseguire un ciclo su un altro comando

Il prompt pianificato può essere esso stesso un’invocazione di comando o skill. Questo è utile per rieseguire un flusso di lavoro che avete già confezionato.
/loop 20m /review-pr 1234
Ogni volta che il processo si attiva, Claude esegue /review-pr 1234 come se lo aveste digitato.

Impostare un promemoria una tantum

Per promemoria una tantum, descrivete quello che volete in linguaggio naturale invece di usare /loop. Claude pianifica un’attività a fuoco singolo che si elimina dopo l’esecuzione.
remind me at 3pm to push the release branch
in 45 minutes, check whether the integration tests passed
Claude fissa l’ora di attivazione a un minuto e un’ora specifici utilizzando un’espressione cron e conferma quando si attiverà.

Gestire le attività pianificate

Chiedete a Claude in linguaggio naturale di elencare o annullare le attività, oppure fate riferimento direttamente agli strumenti sottostanti.
what scheduled tasks do I have?
cancel the deploy check job
Dietro le quinte, Claude utilizza questi strumenti:
ToolPurpose
CronCreatePianificare una nuova attività. Accetta un’espressione cron a 5 campi, il prompt da eseguire e se ricorre o si attiva una sola volta.
CronListElencare tutte le attività pianificate con i loro ID, pianificazioni e prompt.
CronDeleteAnnullare un’attività per ID.
Ogni attività pianificata ha un ID di 8 caratteri che potete passare a CronDelete. Una sessione può contenere fino a 50 attività pianificate contemporaneamente.

Come vengono eseguite le attività pianificate

Lo scheduler controlla ogni secondo le attività dovute e le accoda a bassa priorità. Un prompt pianificato si attiva tra i vostri turni, non mentre Claude sta rispondendo. Se Claude è occupato quando un’attività scade, il prompt attende fino al termine del turno corrente. Tutti i tempi vengono interpretati nel vostro fuso orario locale. Un’espressione cron come 0 9 * * * significa le 9 del mattino ovunque stiate eseguendo Claude Code, non UTC.

Jitter

Per evitare che ogni sessione colpisca l’API nello stesso momento del muro, lo scheduler aggiunge un piccolo offset deterministico ai tempi di attivazione:
  • Le attività ricorrenti si attivano fino al 10% del loro periodo in ritardo, limitato a 15 minuti. Un processo orario potrebbe attivarsi da :00 a :06.
  • Le attività una tantum pianificate per l’inizio o la fine dell’ora si attivano fino a 90 secondi prima.
L’offset è derivato dall’ID dell’attività, quindi la stessa attività ottiene sempre lo stesso offset. Se il timing esatto è importante, scegliete un minuto che non sia :00 o :30, ad esempio 3 9 * * * invece di 0 9 * * *, e il jitter una tantum non si applicherà.

Scadenza di tre giorni

Le attività ricorrenti scadono automaticamente 3 giorni dopo la creazione. L’attività si attiva un’ultima volta, quindi si elimina. Questo limita il tempo di esecuzione di un ciclo dimenticato. Se avete bisogno che un’attività ricorrente duri più a lungo, annullate e ricreate prima che scada, oppure utilizzate Attività pianificate Cloud o Attività pianificate Desktop per la pianificazione durevole.

Riferimento dell’espressione cron

CronCreate accetta espressioni cron standard a 5 campi: minute hour day-of-month month day-of-week. Tutti i campi supportano caratteri jolly (*), valori singoli (5), step (*/15), intervalli (1-5) e elenchi separati da virgole (1,15,30).
ExampleMeaning
*/5 * * * *Ogni 5 minuti
0 * * * *Ogni ora in punto
7 * * * *Ogni ora alle 7 minuti passati
0 9 * * *Ogni giorno alle 9 del mattino locale
0 9 * * 1-5Giorni feriali alle 9 del mattino locale
30 14 15 3 *15 marzo alle 14:30 locale
Day-of-week utilizza 0 o 7 per domenica fino a 6 per sabato. La sintassi estesa come L, W, ? e gli alias dei nomi come MON o JAN non sono supportati. Quando sia day-of-month che day-of-week sono vincolati, una data corrisponde se uno dei campi corrisponde. Questo segue la semantica standard di vixie-cron.

Disabilitare le attività pianificate

Impostare CLAUDE_CODE_DISABLE_CRON=1 nel vostro ambiente per disabilitare completamente lo scheduler. Gli strumenti cron e /loop diventano non disponibili e tutte le attività già pianificate smettono di attivarsi. Vedere Variabili di ambiente per l’elenco completo dei flag di disabilitazione.

Limitazioni

La pianificazione con ambito di sessione ha vincoli intrinseci:
  • Le attività si attivano solo mentre Claude Code è in esecuzione e inattivo. La chiusura del terminale o l’uscita dalla sessione annulla tutto.
  • Nessun recupero per attivazioni perse. Se l’ora pianificata di un’attività passa mentre Claude è occupato in una richiesta a lunga esecuzione, si attiva una sola volta quando Claude diventa inattivo, non una volta per ogni intervallo perso.
  • Nessuna persistenza tra i riavvii. Il riavvio di Claude Code cancella tutte le attività con ambito di sessione.
Per l’automazione basata su cron che deve essere eseguita senza supervisione: