Ejecutar Claude Code con horario usando /loop
A veces quieres que Claude vuelva a mirar algo dentro de cinco minutos, o cada hora: ¿terminó el despliegue?, ¿pasó la CI?, ¿hay comentarios nuevos en la revisión? /loop lo hace dentro de la sesión que ya tienes abierta. Esta página explica cómo funciona, cómo pararlo y dónde deja de funcionar.
Primero, decide dónde debe ejecutarse
Tal como leemos la documentación, hay tres opciones con ventajas distintas:
*/5 * * * *: every 5 minutes7 * * * *: every hour at 7 past0 9 * * *: every day at 9am local0 9 * * 1-5: weekdays at 9am local
La nube, para trabajo que debe correr sin tu ordenador; el escritorio, para archivos y herramientas locales; /loop, para sondeos rápidos mientras trabajas. El resto de la página trata de /loop.
Las tres formas de empezar uno
/loop 5m revisa el despliegue: un intervalo y un prompt, con horario fijo./loop revisa el despliegue: solo el prompt. Claude elige el intervalo cada vez./loopa secas (o solo con un intervalo): ejecuta un prompt de mantenimiento incorporado, o tu propioloop.md.
También puedes repetir una skill: /loop 20m /review-pr 1234. Una ejecución programada solo ejecuta skills que Claude puede invocar por su cuenta; los comandos incorporados como /clear o /model, las skills marcadas con disable-model-invocation y los prompts MCP llegan a Claude como texto normal.
Intervalo fijo
Escribe el intervalo como una palabra al principio (30m) o como una frase al final (every 2 hours). Las unidades son s, m, h y d. Cron trabaja en minutos enteros, así que los segundos se redondean hacia arriba, y los intervalos que no encajan en un paso limpio (7m, 90m) se redondean al más cercano que sí encaja; Claude te dice cuál ha elegido.
Que Claude elija
Sin intervalo, Claude espera entre un minuto y una hora tras cada pasada, según lo que haya visto: poco mientras termina una compilación o un PR está activo, más cuando no hay nada pendiente. Al final de cada iteración imprime la espera y el motivo. Si la herramienta Monitor está disponible, Claude puede usarla en lugar de sondear: ejecuta un script en segundo plano y te devuelve cada línea de salida, lo que puede ser más barato y rápido que repetir un prompt.
El prompt por defecto y loop.md
Un /loop a secas recorre, por orden: el trabajo sin terminar de la conversación, el pull request de la rama actual (comentarios de revisión, CI fallida, conflictos de fusión) y, si no hay nada más, pasadas de limpieza. No empieza proyectos nuevos, y las acciones irreversibles como subir o borrar solo siguen adelante si continúan algo que la conversación ya autorizó.
Para sustituirlo por el tuyo, crea un archivo Markdown normal en .claude/loop.md (proyecto) o en ~/.claude/loop.md (todos los proyectos; manda el del proyecto). Escríbelo como si teclearas el prompt de /loop. Los cambios se aplican en la siguiente iteración y lo que pase de 25.000 bytes se corta. Es un único prompt por defecto, no una lista de tareas, y se ignora cuando das un prompt en la línea de comandos.
Revisa el PR release/next. Si la CI está en rojo, lee el registro del fallo,
diagnostica y sube una corrección mínima. Si han llegado comentarios nuevos,
atiende cada uno. Si todo está en verde y tranquilo, dilo en una línea.
Parar un bucle
- Bucle con intervalo elegido por Claude: mientras espera su próxima pasada, pulsa Esc. Claude también puede terminarlo él mismo cuando acaba la tarea.
- Bucle con intervalo fijo: pídele a Claude que lo cancele («cancela el bucle de revisión del despliegue»). Esc y Ctrl+C no lo paran.
- Si no, caduca: las tareas recurrentes se borran solas a los siete días, tras ejecutarse una vez más. Para más tiempo, vuelve a crearla antes, o usa una tarea en la nube o de escritorio.
Un bucle que no acaba nunca es la forma habitual de gastar la cuota; cómo evitar que los agentes entren en bucle recoge los hábitos que lo previenen (la página está en inglés).
Recordatorios de una vez y gestión de tareas
Para algo puntual, dilo en lenguaje natural, por ejemplo recuérdame a las 15:00 que suba la rama de release o dentro de 45 minutos, comprueba si pasaron las pruebas de integración. Claude programa una sola ejecución que se borra sola. Para ver o quitar tareas, pregunta: ¿qué tareas programadas tengo?, cancela la tarea de revisión del despliegue. Por debajo hay tres herramientas, CronCreate, CronList y CronDelete, y una sesión admite hasta 50 tareas.
Cómo se comportan las ejecuciones
- Se lanzan entre tus turnos, nunca a mitad de una respuesta. Si Claude está ocupado, el prompt espera.
- Las horas son las de tu zona horaria local:
0 9 * * *son las 9 de la mañana donde estás, no UTC. - Jitter: para que no todo el mundo llame a la API a la vez, una tarea recurrente puede empezar tarde, hasta la mitad del hueco hasta la siguiente ejecución y como máximo 30 minutos. La excepción es la de cada cinco minutos, que empieza unos 15 segundos antes cada vez.
- Una tarea de una sola vez fijada a las :00 o a las :30 puede ejecutarse hasta 90 segundos antes. Si importa la hora exacta, elige un minuto raro:
3 9 * * *en vez de0 9 * * *.
Límites que conviene conocer
- Las tareas se lanzan solo mientras Claude Code está en marcha e inactivo. Si cierras la terminal, se paran (pasar la sesión a segundo plano mantiene vivas las tareas de
/loop). - Sin recuperación: si una ejecución llega mientras Claude está ocupado, se lanza una vez cuando queda libre, no una por cada intervalo perdido.
- Con
--resumeo--continue, las tareas creadas conCronCreatese restauran salvo que hayan caducado; un/loopcon intervalo elegido por Claude no, así que vuelve a ejecutar/loop. Los comandos en segundo plano que corrían no se reinician. - Para apagar todo el programador, pon
CLAUDE_CODE_DISABLE_CRON=1.
Chuleta de cron
Cinco campos: minuto, hora, día del mes, mes, día de la semana (0 o 7 es domingo). Funcionan comodines, pasos, rangos y listas; L, W, ? y nombres como MON no.
*/5 * * * *: cada 5 minutos7 * * * *: cada hora, y 7 minutos0 9 * * *: cada día a las 9:00 locales0 9 * * 1-5: de lunes a viernes a las 9:00 locales
Si se fijan a la vez el día del mes y el día de la semana, una fecha vale cuando cumple cualquiera de los dos.
Todas las guías están en el índice de guías; para programar fuera de una sesión, mira los flujos de cada día y ejecutar Claude Code desde un script. Esta página sigue la documentación de tareas programadas de Anthropic tal como la leemos en octubre de 2026. No tenemos relación con Anthropic. La escribimos a partir de la documentación y no hemos probado todos los casos. Los intervalos, los límites y algunas funciones dependen de tu versión, y donde esta página y la documentación no coincidan, manda la documentación.
Mira también: Trabajar hacia un objetivo con /goal.
La skill gratis loop-stop da a las tareas largas un límite y una regla de parada. Si quieres una segunda mirada a tu CLAUDE.md y a tus ajustes, el Tune-Up Kit es una lista de comprobación para eso (la ficha está en inglés).