Documentation Index
Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt
Use this file to discover all available pages before exploring further.
Tarefas agendadas requerem Claude Code v2.1.72 ou posterior. Verifique sua versão com
claude --version./goal.
As tarefas têm escopo de sessão: elas vivem na conversa atual e param quando você inicia uma nova. Retomar com --resume ou --continue traz de volta qualquer tarefa que não tenha expirado: uma tarefa recorrente criada nos últimos 7 dias, ou uma única cujo tempo agendado ainda não passou. Para agendamento que sobreviva independentemente de qualquer sessão, use Routines, tarefas agendadas do Desktop ou GitHub Actions.
Compare opções de agendamento
Claude Code offers three ways to schedule recurring or one-off work:| Cloud | Desktop | /loop | |
|---|---|---|---|
| Runs on | Anthropic cloud | Your machine | Your machine |
| Requires machine on | No | Yes | Yes |
| Requires open session | No | No | Yes |
| Persistent across restarts | Yes | Yes | Restored on --resume if unexpired |
| Access to local files | No (fresh clone) | Yes | Yes |
| MCP servers | Connectors configured per task | Config files and connectors | Inherits from session |
| Permission prompts | No (runs autonomously) | Configurable per task | Inherits from session |
| Customizable schedule | Via /schedule in the CLI | Yes | Yes |
| Minimum interval | 1 hour | 1 minute | 1 minute |
Execute um prompt repetidamente com /loop
A skill agrupada/loop bundled skill é a maneira mais rápida de executar um prompt repetidamente enquanto a sessão permanece aberta. Tanto o intervalo quanto o prompt são opcionais, e o que você fornece determina como o loop se comporta.
| O que você fornece | Exemplo | O que acontece |
|---|---|---|
| Intervalo e prompt | /loop 5m check the deploy | Seu prompt é executado em um cronograma fixo |
| Apenas prompt | /loop check the deploy | Seu prompt é executado em um intervalo que Claude escolhe a cada iteração |
| Apenas intervalo, ou nada | /loop | O prompt de manutenção integrado é executado, ou seu loop.md se existir |
/loop 20m /review-pr 1234, para re-executar um fluxo de trabalho empacotado a cada iteração.
Execute em um intervalo fixo
Quando você fornece um intervalo, Claude o converte em uma expressão cron, agenda o trabalho e confirma a cadência e o ID do trabalho.30m, ou seguir como uma cláusula como every 2 hours. As unidades suportadas são s para segundos, m para minutos, h para horas e d para dias.
Os segundos são arredondados para o minuto mais próximo, pois o cron tem granularidade de um minuto. Os intervalos que não mapeiam para um passo cron limpo, como 7m ou 90m, são arredondados para o intervalo mais próximo que funciona e Claude informa qual foi escolhido.
Deixe Claude escolher o intervalo
Quando você omite o intervalo, Claude escolhe um dinamicamente em vez de executar em um cronograma cron fixo. Após cada iteração, ele escolhe um atraso entre um minuto e uma hora com base no que observou: esperas curtas enquanto uma compilação está terminando ou um PR está ativo, esperas mais longas quando nada está pendente. O atraso escolhido e o motivo dele são impressos no final de cada iteração. O exemplo abaixo verifica CI e comentários de revisão, com Claude esperando mais tempo entre iterações uma vez que o PR fica silencioso:/loop dinâmico, Claude pode usar a ferramenta Monitor diretamente. Monitor executa um script em segundo plano e transmite cada linha de saída de volta, o que evita pesquisa completamente e geralmente é mais eficiente em tokens e responsivo do que re-executar um prompt em um intervalo.
Um loop agendado dinamicamente aparece em sua lista de tarefas agendadas como qualquer outra tarefa, portanto você pode listá-lo ou cancelá-lo da mesma forma. As regras de jitter não se aplicam a ele, mas a expiração de sete dias se aplica: o loop termina automaticamente sete dias após você iniciá-lo.
No Bedrock, Vertex AI e Microsoft Foundry, um prompt sem intervalo é executado em um cronograma fixo de 10 minutos.
Execute o prompt de manutenção integrado
Quando você omite o prompt, Claude usa um prompt de manutenção integrado em vez de um que você fornece. A cada iteração, ele trabalha através do seguinte, em ordem:- continuar qualquer trabalho inacabado da conversa
- cuidar do pull request do branch atual: comentários de revisão, execuções de CI falhadas, conflitos de mesclagem
- executar passes de limpeza, como caças a bugs ou simplificação quando nada mais está pendente
/loop simples executa este prompt em um intervalo escolhido dinamicamente. Adicione um intervalo, por exemplo /loop 15m, para executá-lo em um cronograma fixo. Para substituir o prompt integrado pelo seu próprio padrão, consulte Personalize o prompt padrão com loop.md.
No Bedrock, Vertex AI e Microsoft Foundry,
/loop sem prompt imprime a mensagem de uso em vez de iniciar o loop de manutenção.Personalize o prompt padrão com loop.md
Um arquivoloop.md substitui o prompt de manutenção integrado pelas suas próprias instruções. Ele define um único prompt padrão para /loop simples, não uma lista de tarefas agendadas separadas, e é ignorado sempre que você fornece um prompt na linha de comando. Para agendar prompts adicionais junto com ele, use /loop <prompt> ou peça a Claude diretamente.
Claude procura o arquivo em dois locais e usa o primeiro que encontra.
| Caminho | Escopo |
|---|---|
.claude/loop.md | Nível do projeto. Tem precedência quando ambos os arquivos existem. |
~/.claude/loop.md | Nível do usuário. Aplica-se em qualquer projeto que não defina o seu próprio. |
/loop diretamente. O exemplo a seguir mantém um branch de lançamento saudável:
.claude/loop.md
loop.md entram em vigor na próxima iteração, portanto você pode refinar as instruções enquanto um loop está em execução. Quando nenhum loop.md existe em nenhum local, o loop volta ao prompt de manutenção integrado. Mantenha o arquivo conciso: conteúdo além de 25.000 bytes é truncado.
Pare um loop
Para parar um/loop enquanto ele está aguardando a próxima iteração, pressione Esc. Isso limpa o despertar pendente para que o loop não dispare novamente. As tarefas que você agendou pedindo a Claude diretamente não são afetadas por Esc e permanecem no lugar até que você as delete.
Em modo de ritmo próprio, Claude também pode encerrar o loop por conta própria ao não agendar o próximo despertar uma vez que a tarefa está comprovadamente completa. Loops em um intervalo fixo continuam em execução até que você os pare ou sete dias se passem.
Defina um lembrete único
Para lembretes únicos, descreva o que você deseja em linguagem natural em vez de usar/loop. Claude agenda uma tarefa de disparo único que se deleta após ser executada.
Gerencie tarefas agendadas
Peça a Claude em linguagem natural para listar ou cancelar tarefas, ou referencie as ferramentas subjacentes diretamente.| Ferramenta | Propósito |
|---|---|
CronCreate | Agendar uma nova tarefa. Aceita uma expressão cron de 5 campos, o prompt a ser executado e se recorre ou dispara uma vez. |
CronList | Listar todas as tarefas agendadas com seus IDs, cronogramas e prompts. |
CronDelete | Cancelar uma tarefa por ID. |
CronDelete. Uma sessão pode conter até 50 tarefas agendadas por vez.
Como as tarefas agendadas são executadas
O agendador verifica a cada segundo se há tarefas vencidas e as enfileira com baixa prioridade. Um prompt agendado é acionado entre seus turnos, não enquanto Claude está no meio de uma resposta. Se Claude estiver ocupado quando uma tarefa vencer, o prompt aguarda até que o turno atual termine. Todos os horários são interpretados em seu fuso horário local. Uma expressão cron como0 9 * * * significa 9h onde você está executando Claude Code, não UTC.
Jitter
Para evitar que cada sessão atinja a API no mesmo momento de tempo real, o agendador adiciona um deslocamento determinístico aos tempos de disparo:- Tarefas recorrentes disparam até 30 minutos após o horário agendado (ou até metade do intervalo, para tarefas que são executadas com mais frequência que por hora). Um trabalho por hora agendado para
:00pode disparar em qualquer lugar até:30. - Tarefas únicas agendadas para o topo ou fundo da hora disparam até 90 segundos mais cedo.
:00 ou :30, por exemplo 3 9 * * * em vez de 0 9 * * *, e o jitter único não será aplicado.
Expiração de sete dias
Tarefas recorrentes expiram automaticamente 7 dias após a criação. A tarefa é acionada uma última vez e depois se deleta. Isso limita quanto tempo um loop esquecido pode ser executado. Se você precisar que uma tarefa recorrente dure mais tempo, cancele e recrie-a antes de expirar, ou use Routines ou tarefas agendadas do Desktop para agendamento durável.Referência de expressão cron
CronCreate aceita expressões cron padrão de 5 campos: minute hour day-of-month month day-of-week. Todos os campos suportam curingas (*), valores únicos (5), passos (*/15), intervalos (1-5) e listas separadas por vírgula (1,15,30).
| Exemplo | Significado |
|---|---|
*/5 * * * * | A cada 5 minutos |
0 * * * * | A cada hora na hora |
7 * * * * | A cada hora aos 7 minutos passados |
0 9 * * * | Todos os dias às 9h local |
0 9 * * 1-5 | Dias da semana às 9h local |
30 14 15 3 * | 15 de março às 14h30 local |
0 ou 7 para domingo até 6 para sábado. A sintaxe estendida como L, W, ? e aliases de nome como MON ou JAN não é suportada.
Quando tanto o dia do mês quanto o dia da semana são restritos, uma data corresponde se qualquer campo corresponder. Isso segue a semântica padrão do vixie-cron.
Desabilite tarefas agendadas
DefinaCLAUDE_CODE_DISABLE_CRON=1 em seu ambiente para desabilitar o agendador completamente. As ferramentas cron e /loop ficam indisponíveis e qualquer tarefa já agendada para de ser acionada. Consulte Variáveis de ambiente para a lista completa de sinalizadores de desabilitação.
Limitações
O agendamento com escopo de sessão tem limitações inerentes:- As tarefas só são acionadas enquanto Claude Code está em execução e ocioso. Fechar o terminal ou deixar a sessão sair para tudo.
- Sem recuperação para disparos perdidos. Se o tempo agendado de uma tarefa passar enquanto Claude está ocupado em uma solicitação de longa duração, ela dispara uma vez quando Claude fica ocioso, não uma vez por intervalo perdido.
- Iniciar uma conversa nova limpa todas as tarefas com escopo de sessão. Retomar com
claude --resumeouclaude --continuerestaura tarefas que não expiraram: tarefas recorrentes dentro de sete dias de criação, e tarefas únicas cujo tempo agendado ainda não passou. Tarefas de Bash em segundo plano e tarefas de monitor nunca são restauradas ao retomar.
- Routines: executadas na infraestrutura gerenciada pela Anthropic em um cronograma, via chamada de API ou em eventos do GitHub
- GitHub Actions: use um gatilho
scheduleem CI - Tarefas agendadas do Desktop: executadas localmente em sua máquina