TIPS 37 · LOOP

El loop

Los tres loops que uso en Claude Code: la web después de un despliegue, los tests en la rama principal y la respuesta que estás esperando. Con los textos para copiar y cómo pararlos.

Qué es y por qué importa

/loop es un comando de Claude Code que repite una tarea solo, dentro de la sesión que tienes abierta. Le dices cada cuánto y qué hacer, y vuelve a hacerlo hasta que lo paras, durante siete días como mucho.

El problema que resuelve es comprobar las cosas a mano. Haces un despliegue y de vez en cuando abres la web para ver si funciona. Esperas la revisión de la App Store y no paras de abrir el correo. Con un loop mira Claude, y tú trabajas en otra cosa.

Pero lo que lo hace útil es otra cosa: le pido que me escriba solo si cambia algo. Un loop que cada cinco minutos dice «todo bien» es ruido, y al cabo de una hora dejas de leerlo. A uno que se queda callado hasta que pasa algo, cuando habla, le haces caso.

No es una rutina. El loop vive en la sesión: arranca en un momento, pero se para cuando cierras el terminal. Las rutinas que funcionan incluso con el ordenador apagado las tienes en la guía sobre las rutinas.

1. Cómo se escribe

En una sesión de Claude Code escribes /loop, luego el intervalo y luego la tarea. Por ejemplo /loop 5m seguido de lo que hay que comprobar.

  • El intervalo es un número con una unidad: s para los segundos, m para los minutos, h para las horas, d para los días. Así que 5m, 1h, 1d.
  • El paso más corto es un minuto: los segundos se redondean hacia arriba al minuto.
  • Si eliges un intervalo raro, como 7m o 90m, Claude lo redondea al más cercano que puede programar y te dice cuál ha elegido.

Cuando lo lanzas, Claude te confirma cada cuánto se ejecutará. A partir de ahí la tarea vuelve a arrancar sola, en la misma conversación. Así que en la siguiente vuelta sabe lo que vio en la anterior, y por eso puede decirte si algo ha cambiado.

Sin intervalo

Si escribes /loop y directamente la tarea, sin intervalo, el ritmo lo decide Claude. Después de cada vuelta elige cuánto esperar, de un minuto a una hora, según lo que ha visto: poco si está a punto de pasar algo, más si todo está parado. Al final de cada vuelta te escribe cuánto espera y por qué. Y cuando la tarea ha terminado, puede cerrar el loop él solo.

2. Los tres loops

Se copian tal cual. Cambia solo las partes entre [ ].

La web y el despliegue

Lo lanzo justo después de un despliegue, o cuando he cambiado algo en el servidor y no me fío.

El prompt
/loop 5m abre [dirección de la web] y comprueba que responda. Si no responde o da error, lee los logs del último despliegue y escríbeme qué ha fallado y qué propones. No cambies nada sin preguntarme. Si todo está como antes, no escribas nada.

Las tres últimas frases son las que cuentan. «Lee los logs del último despliegue» le dice dónde mirar. «No cambies nada sin preguntarme» evita que se ponga a arreglar el servidor él solo. «No escribas nada» lo mantiene callado cuando todo va bien.

Para leer los logs, Claude tiene que poder llegar a ellos desde la sesión: con la herramienta de terminal de tu hosting o con un conector. Si no llega, el loop solo comprueba que la web responda. Y cada cinco minutos son muchas vueltas: tenlo corto, tiene que hacer una sola cosa.

Los tests en la rama principal

Me sirve cuando llegan a main cambios que no he hecho yo en ese momento: otra sesión de Claude, un colaborador. Cada hora descarga lo nuevo y vuelve a lanzar los tests.

El prompt
/loop 1h descarga los últimos cambios de la rama main y lanza los tests. Escríbeme solo si un test que pasaba ahora falla: cuál, qué cambio lo ha roto y la corrección que propones. No toques el código.

«Solo si un test que pasaba ahora falla» es el filtro: de un test que lleva días roto no necesitas enterarte cada hora, necesitas saber qué se ha roto ahora. «No toques el código» te deja la decisión a ti: él encuentra y propone, tú eliges.

Una cosa que conviene saber: este loop descarga los cambios en la carpeta en la que estás trabajando. Si tienes archivos a medias, guarda el trabajo antes, o hazlo funcionar en una copia aparte del proyecto.

La respuesta que esperas

Por ejemplo, la revisión de la App Store. Aquí no pongo el intervalo: no sé cuándo llegará la respuesta, así que dejo que el ritmo lo elija Claude. Cuando llega la respuesta, me dice qué hacer y cierra el loop.

El prompt
/loop comprueba [dónde llega la respuesta: el correo conectado, la página de estado] si ha llegado la respuesta sobre la revisión de [nombre de la app]. Cuando cambie algo, dime qué dice y qué tengo que hacer, y luego cierra el loop.

Claude tiene que poder ver el sitio donde llega la respuesta. Si es el correo, tu buzón tiene que estar conectado a la sesión con un conector. Si es una página de estado, tiene que poder abrirla. Antes de lanzar el loop se lo pregunto una vez a mano:

El prompt
¿Puedes ver [dónde llega la respuesta]? Dime qué hay ahora mismo, sin cambiar nada.

3. Cómo se para

Un loop con intervalo fijo sigue hasta que lo cancelas, o hasta que pasan siete días. Para cancelarlo basta con pedirlo con palabras. Primero pide la lista:

El prompt
¿qué tareas programadas tengo?

Claude te enseña las tareas activas, con cada cuánto se ejecutan y la tarea. Luego le dices cuál quitar:

El prompt
cancela la comprobación del despliegue

Un loop sin intervalo, mientras espera la siguiente vuelta, lo paras con Esc: la vuelta pendiente se cancela y el loop no vuelve a arrancar. Los de intervalo fijo, en cambio, se quedan, y los cancelas pidiéndolo como arriba.

4. Antes de dejarlo funcionando

Solo funciona con la sesión abierta

El loop solo funciona mientras Claude Code está abierto y el ordenador encendido. Cierras el terminal y se para. Si toca una vuelta mientras Claude está ocupado, espera; y las vueltas perdidas no las recupera: en cuanto Claude está libre hace solo una.

Si cierras y luego retomas la sesión con claude --resume o claude --continue, los loops de intervalo fijo vuelven, si no han caducado. Los que no tienen intervalo no: los vuelves a lanzar con /loop.

Dura siete días como mucho

Todo loop dura como mucho siete días desde que lo creas, también el que no tiene intervalo: hace una última vuelta y se borra solo. Sirve para no dejar por ahí un loop olvidado. Si lo necesitas más tiempo, vuelve a lanzarlo antes de que caduque.

Usa los permisos de la sesión

El loop tiene los mismos permisos que la sesión en la que lo lanzas. Si en una vuelta Claude tiene que usar un comando que normalmente te pide aprobar, se queda ahí parado esperándote. Por eso la primera vuelta la miro y apruebo lo que hace falta, como el comando que lanza los tests.

Con el ordenador apagado necesitas otra cosa

Para lo que tiene que funcionar con el ordenador apagado está /schedule: crea una rutina en la nube de Anthropic. Necesitas haber iniciado sesión con tu cuenta de claude.ai y tener el proyecto en GitHub, y se ejecuta como mucho una vez por hora. Cómo configurarla lo expliqué en la guía sobre las rutinas.

Errores comunes

  • No decirle cuándo quedarse callado: en cada vuelta te escribe «todo bien» y dejas de leerlo. Escribe siempre «escríbeme solo si cambia algo».
  • Dejar que corrija solo: mientras no miras puede cambiar el servidor o el código. Añade «no cambies nada sin preguntarme».
  • Cerrar el terminal y creer que sigue: el loop vive en la sesión. Para algo que funcione con el ordenador apagado usa /schedule.
  • Mandarlo a mirar un sitio que no ve: el loop da vueltas en vacío. Primero pregúntale una vez a mano si llega.
  • Irte en la primera vuelta: si Claude tiene que pedirte un permiso, el loop se queda parado esperándote. Mira la primera vuelta y aprueba lo que haga falta.
  • Olvidarte de la caducidad: a los siete días el loop se borra solo. Si aún lo necesitas, vuelve a lanzarlo antes.

Lista de comprobación

  • Intervalo con su unidad: 5m, 1h, 1d
  • Partes entre [ ] cambiadas
  • «Escríbeme solo si cambia algo» en el prompt
  • «No cambies nada» en el prompt
  • Claude llega a los logs, el correo o la página de estado
  • Primera vuelta vista, permisos aprobados
  • Apuntado cuándo se cumplen los siete días

Preguntas frecuentes

¿Puedo usar la sesión mientras el loop está funcionando?

Sí. El loop arranca entre un mensaje y otro: si toca una vuelta mientras Claude está trabajando para ti, espera a que termine. Pero las vueltas acaban en la misma conversación, así que cuanto más corto sea el prompt y más callado se quede cuando no hay nada que decir, mejor.

¿Y si necesito una comprobación una sola vez?

No hace falta /loop. Escríbelo con palabras, como «dentro de 45 minutos comprueba si los tests han pasado»: Claude programa una sola comprobación, que se borra sola después de ejecutarse.

← Todas las guías