Biblioteca · Automatización: navegador, pantalla y horarios

Loop vs. Scheduled Tasks: cuándo usar cada uno

Creador45 minActualizado: octubre de 2026
41 de 105 en la biblioteca

Tiempo: ~20 min de teoría + 25 min de práctica

Lo esencial

Hay dos formas de lanzar una tarea repetitiva en Claude Code, y son como una bici y un coche. La bici funciona de maravilla para ir a la tienda de la esquina. El coche es indispensable para viajar a otra ciudad. Elige el transporte correcto.

Conceptos clave

  • /loop: ciclos en vivo dentro de la sesión actual de Claude Code
  • Scheduled Tasks: programaciones de larga duración fuera de la sesión: rutinas en la nube (Routines), tareas en la app de escritorio, un cron externo como Trigger.dev
  • Regla de elección: horizonte de tiempo + si necesitas estar presente
  • Ejecución de recuperación (catch-up): qué pasa con las ejecuciones que se saltaron

A octubre de 2026, las Routines están en estado research preview: su comportamiento y sus límites pueden cambiar. Capacidades y versiones vigentes: Lo vigente.


Teoría

/loop: ciclos en vivo

🎨 Imagínalo así: un guardia que recorre los pisos cada diez minutos mientras está en su turno. Entra, recorre, revisa. Se va a su casa y los recorridos se acaban. /loop funciona exactamente igual: está activo mientras estás en la terminal y se detiene cuando cierras la sesión.

El comando /loop lanza una acción repetitiva directamente dentro de la sesión actual de Claude Code.

Sintaxis:

Código
/loop [intervalo] [prompt]

El intervalo puede ir antes del prompt (10m) o después, en palabras ("cada 2 horas"). Unidades: s, m, h, d. Los segundos se redondean al minuto. Si no indicas intervalo, Claude elige por su cuenta la pausa entre revisiones, de un minuto a una hora. Un /loop a secas lanza el prompt de mantenimiento integrado: terminar lo pendiente, revisar el pull request, los comentarios y las verificaciones que fallaron.

Ejemplos:

Escribe esto en el chat
/loop 10m Revisa si hay correos nuevos del cliente [email protected] y muéstrame un resumen breve

/loop 5m Ejecuta pytest y muestra el estado de las pruebas

/loop 1h Revisa el estado del deploy en Trigger.dev y avísame si aparecieron errores

Cómo funciona por dentro:

  • Claude Code mantiene la sesión activa
  • Cada N minutos pone el prompt indicado en la cola: se ejecuta entre tus turnos, no a mitad de una respuesta
  • El prompt tiene acceso a todas las herramientas de la sesión
  • El resultado aparece en la terminal
  • Ves las actualizaciones en tiempo real

Características de /loop

Vida útil: 7 días como máximo

Una tarea repetitiva de /loop se borra sola 7 días después de crearse: se ejecuta una última vez y desaparece. Es una protección contra ciclos olvidados. Además, el ciclo está atado a la sesión de Claude Code: si cierras la terminal, el ciclo se detiene. Si necesitas más de una semana, usa una programación fuera de la sesión (abajo).

Requiere la terminal abierta

Es una sesión en vivo. Claude Code tiene que estar corriendo. No sirve para "lanzar y olvidar".

Sin catch-up

Si la hora de ejecución pasó mientras Claude estaba ocupado con una respuesta larga o la computadora estaba suspendida, las iteraciones perdidas no se acumulan: la tarea se ejecuta una vez cuando Claude se libera y sigue con su horario.

Tienes la ayuda del agente en tiempo real

La ventaja principal: el agente ve lo que pasa y puede reaccionar. Si al revisar el correo encuentra una situación rara, puede tomar una decisión ahí mismo, no solo registrar el hecho.

Ideal para:

  • Monitoreo durante la jornada: revisar la bandeja de entrada cada 10 minutos de 9 a 18 h
  • Seguir el estado de un deploy que tarda 2-3 horas
  • Un sprint de desarrollo de una función concreta durante varios días, con revisiones cada hora
  • Monitoreo en vivo de las pruebas mientras trabajas

Scheduled Tasks: programaciones de larga duración

🎨 Imagínalo así: un despertador que configuras una vez: suena solo, aunque te hayas quedado dormido. Una Scheduled Task es un despertador en la nube: lo configuras, te olvidas y recibes un reporte cada viernes. La computadora puede estar apagada y tú de vacaciones: la tarea se ejecuta igual.

La programación fuera de la sesión en Claude Code es de tres tipos:

  • Routines (rutinas): una tarea en la nube de Anthropic: un prompt, repositorios y servicios conectados (conectores). Se lanza por horario, por una solicitud HTTP o por un evento de GitHub. Funciona con la computadora apagada. Se crea en claude.ai/code/routines o con el comando /schedule. Requiere el plan Pro o superior; estado research preview. Intervalo mínimo: 1 hora.
  • Tareas en la app de escritorio: se ejecutan en tu computadora con acceso a los archivos locales. Funcionan mientras la app esté abierta y la computadora no esté suspendida. Intervalo mínimo: 1 minuto.
  • Un servicio cron externo, por ejemplo Trigger.dev o el cron de Cloudflare Workers: escribes el código tú y la plataforma lo ejecuta según el horario.

Abajo, con el ejemplo de un servicio externo, se ve cómo se arma una programación en código. Para Claude Code en sí, prueba primero las rutinas integradas.

Cómo configurarlo con Trigger.dev:

typescript
// src/trigger/weekly-report.ts
// La importación depende de la versión del SDK: revisa la documentación de trigger.dev
import { schedules } from "@trigger.dev/sdk";

export const weeklyYoutubeReport = schedules.task({
  id: "weekly-youtube-report",
  cron: "0 9 * * 5",  // Cada viernes a las 09:00
  
  run: async (payload) => {
    // Reunir las estadísticas de YouTube de la semana
    const stats = await fetchYoutubeStats({ period: "7d" });
    
    // Generar el reporte con Claude
    const report = await generateReport(stats);
    
    // Enviarlo al chat de notificaciones (aquí, Telegram; usa el canal que prefieras)
    await sendToTelegram(report);
    
    return { completed: true };
  }
});

Sintaxis de cron: referencia rápida:

Escribe esto en el chat
Formato: minutos hora día_del_mes mes día_de_la_semana
         (0-59) (0-23) (1-31)     (1-12) (0-7, 0 y 7 = domingo)
Expresión cron Qué hace Uso típico
*/5 * * * * Cada 5 minutos Monitoreo del correo
0 * * * * Cada hora en punto Revisar el estado del deploy
0 8 * * 1-5 Lun-Vie a las 08:00 Daily Brief
0 9 * * 5 Cada viernes a las 09:00 Reporte semanal
0 10 1 * * El día 1 de cada mes a las 10:00 Reporte financiero mensual
0 3 * * * Todos los días a las 03:00 Respaldo nocturno
*/30 9-18 * * 1-5 Cada 30 min de 9 a 18 h, Lun-Vie Monitoreo en horario laboral
0 0 * * 0 Cada domingo a medianoche Limpieza semanal

Editor visual para comprobarlo: crontab.guru: escribes la expresión y ves el horario en lenguaje humano.


Características de las Scheduled Tasks

Larga duración: meses y años

Las configuras una vez y funcionan de forma permanente hasta que las detengas. Es una función del sistema, no algo de ocasión.

No requieren la terminal abierta

Las rutinas y los servicios externos se ejecutan en la nube. La computadora puede estar apagada y la tarea se lanza igual. La excepción es la tarea en la app de escritorio: necesita la app abierta y la computadora despierta.

La ejecución de recuperación (catch-up) depende de la herramienta

🎨 Imagínalo así: un cartero que vuelve después de estar enfermo no te trae todo el correo acumulado, sino un solo resumen del último día perdido. Así se comporta la tarea en la app de escritorio.

Si la computadora estaba suspendida a la hora de la ejecución, al despertar la app revisa los últimos 7 días y lanza una sola ejecución de recuperación para la hora perdida más reciente; las demás se descartan. Una tarea diaria que se saltó seis días se ejecutará una vez. Por eso agrega una protección en el prompt: "Revisa solo los commits de hoy". En un servicio cron externo, revisa en su documentación si recupera las ejecuciones perdidas. Para operaciones críticas (reportes, respaldos) no dependas de la recuperación: verifica el resultado.

Sin reacción en vivo

Un servicio cron externo ejecuta un algoritmo descrito de antemano. Si algo sale fuera del plan, la tarea lo registrará en los logs, pero no podrá reaccionar con flexibilidad como un agente en vivo. Una rutina de Claude Code está más cerca de un agente: lanza una sesión completa y se las arregla según el prompt. Pero durante la ejecución tú no estás cerca y nadie puede aprobar acciones, así que el prompt debe ser autosuficiente y los permisos, mínimos.

Ideal para:

  • El reporte semanal del canal de YouTube cada viernes
  • Monitoreo diario de la competencia y las noticias
  • El reporte financiero mensual el día primero
  • Respaldos regulares de datos
  • Cualquier tarea que deba funcionar "por sí sola"

Tabla comparativa

Criterio /loop Rutina (nube) Tarea en la app
Dónde funciona tu computadora la nube de Anthropic tu computadora
Vida útil hasta 7 días hasta que la desactives hasta que la borres
Requiere la sesión abierta SÍ NO NO
Requiere la computadora encendida SÍ NO SÍ (con la app abierta)
Recuperación de ejecuciones perdidas NO no hace falta, la computadora no participa una ejecución de los últimos 7 días
Acceso a archivos locales SÍ NO (un clon nuevo del repositorio) SÍ
Intervalo mínimo 1 minuto 1 hora 1 minuto
Configuración segundos unos minutos unos minutos
Consumo límites de la suscripción límites de la suscripción límites de la suscripción
Mejor para monitoreo de ocasión operaciones regulares sin computadora operaciones regulares con archivos locales

Un servicio cron externo (Trigger.dev y similares) conviene cuando necesitas tu propio código y tu propia interfaz. Se cuenta aparte: tiene su propio cobro y sus propias reglas. Las condiciones de las rutinas y de los planes cambian: Lo vigente.


La regla de elección

🎨 Imagínalo así: elegir entre un reflector y una linterna. El reflector (Scheduled Tasks) es potente, fijo y alumbra solo. La linterna (/loop) está en tu mano, la diriges a donde quieras, pero solo mientras la sostienes. Para iluminar el patio todo el tiempo, el reflector. Para una caminata nocturna, la linterna.

Responde dos preguntas:

1. ¿Cuánto tiempo va a funcionar?

  • Unas horas o días (hasta 7) → /loop
  • Semanas, meses, de forma permanente → Scheduled Tasks

2. ¿Vas a estar frente a la computadora?

  • Sí, estás trabajando activamente → /loop (ves lo que pasa y puedes intervenir)
  • No, quieres "lanzar y olvidar" → Scheduled Tasks: una rutina en la nube y, si necesitas archivos locales, una tarea en la app

Ejemplos con la regla:

"Quiero seguir el estado del deploy mientras corre (2 horas)" → /loop: periodo corto, estás frente a la computadora

"Quiero un reporte semanal del proyecto los viernes" → Scheduled Task: regular, no requiere tu presencia

"Quiero revisar el inbox cada 10 minutos en la jornada laboral" → Depende: si es solo hoy → /loop. Si es para siempre → Scheduled Task

"Quiero vigilar a la competencia tres días mientras preparo un pitch" → /loop: plazo limitado, trabajo activo


Combinarlos

En los sistemas complejos se usan los dos enfoques juntos:

Código
Scheduled Task (rutina en la nube o Trigger.dev):
→ Cada día hábil a las 08:30 lanza el Daily Brief
→ Funciona siempre, no requiere atención

/loop (durante la jornada):
→ Cuando esperas un correo importante, lanzas /loop por 4 horas
→ El agente revisa cada 5 minutos y te avisa en cuanto llega
→ Es un complemento de la programación regular, no un reemplazo

Práctica

Tarea: configurar /loop para un monitoreo en vivo

  1. Elige algo que quieras monitorear ahora mismo:

    • Un archivo que debería cambiar (por ejemplo, un archivo de log)
    • Un directorio donde deberían aparecer archivos nuevos
    • El resultado de un comando (por ejemplo, git status)
  2. Lanza /loop:

    Escribe esto en el chat
    /loop 3m Revisa el contenido de la carpeta ~/Downloads y muestra la lista de archivos agregados en los últimos 10 minutos
  3. Observa 3-4 iteraciones. Agrega un archivo a Downloads y mira cómo lo detecta el agente.

  4. Detén el ciclo: pídele a Claude "cancela esta revisión" (la lista de tareas te la muestra la pregunta "¿qué tareas programadas tengo?"). Si lanzaste /loop sin intervalo, basta con presionar Esc. Si no, el ciclo se borrará solo en 7 días.

  5. Extra: describe la misma tarea como una programación fuera de la sesión. Opción A: una rutina con /schedule (requiere el plan Pro o superior; después de crearla, mira el resultado en claude.ai/code/routines). Opción B: una configuración para Trigger.dev (puedes hacerlo sin deploy: solo escribe el código y entiende la sintaxis de cron)


Plantilla: configuración de Scheduled Tasks

Ejemplo de un conjunto de programaciones para un freelancer productivo (con un servicio cron externo como ejemplo: el mismo conjunto se puede armar como tres rutinas):

typescript
// schedules.ts — todas las tareas cron en un solo archivo

// Daily Brief matutino: Lun-Vie a las 08:00
export const dailyBrief = schedules.task({
  id: "daily-brief",
  cron: "0 8 * * 1-5",
  run: async () => {
    const [emails, meetings, tasks] = await Promise.all([
      getUnreadEmails({ since: "12h" }),
      getTodayMeetings(),
      getOpenTasks({ priority: "high" })
    ]);
    const brief = await generateBrief(emails, meetings, tasks);
    await sendToTelegram(brief);
  }
});

// Reporte semanal: viernes 17:00
export const weeklyReport = schedules.task({
  id: "weekly-report",
  cron: "0 17 * * 5",
  run: async () => {
    const stats = await getWeeklyStats();
    const report = await generateWeeklyReport(stats);
    await sendToTelegram(report);
  }
});

// Respaldo: todos los días a las 03:00
export const nightlyBackup = schedules.task({
  id: "nightly-backup",
  cron: "0 3 * * *",
  run: async () => {
    await backupDatabase();
    await sendToTelegram("✅ Respaldo terminado");
  }
});

En esta plantilla sendToTelegram es una función auxiliar de ejemplo: cámbiala por el canal de avisos que uses (correo, Slack, un bot de Telegram).


Herramientas y recursos

  • /loop: comando integrado de Claude Code (un skill incluido)
  • Routines: rutinas en la nube: claude.ai/code/routines o /schedule (research preview, Pro y superior)
  • Tareas en la app de escritorio: pestaña Code, sección Routines, opción Local
  • Documentación: Run prompts on a schedule y Routines
  • Trigger.dev: plataforma para Scheduled Tasks y workflows (servicio externo)
  • Referencia de sintaxis cron: editor visual de expresiones cron: crontab.guru
  • Skill: anthropic-skills:schedule: ayuda para configurar programaciones

Ideas clave

/loop es la bici: se lanza rápido, es buena para cuando estás cerca. Las Scheduled Tasks son el coche: tardan más en configurarse, pero avanzan solas mientras haces otra cosa. Qué pasa con una ejecución perdida no es un detalle, es una propiedad clave: /loop no recupera, la tarea en la app hace una ejecución de recuperación y la rutina en la nube no depende de tu computadora. Para operaciones críticas (reportes financieros, respaldos), verifica el resultado en lugar de confiar en la recuperación. Regla de elección: horizonte de tiempo + necesidad de presencia. Dos preguntas, una respuesta.


Lecciones relacionadas

  • Deploy en Cloudflare: los cron triggers de Cloudflare Workers como alternativa a Trigger.dev para programaciones serverless
  • AI Executive Assistant: las Scheduled Tasks alimentan los cuatro workflows del asistente (email, reuniones, brief, tareas)

Siguiente lección

→ Primeros clientes: trust map y conversaciones en caliente

La marca se guarda solo en este navegador y no se envía a ningún sitio. Mi progreso