/loop y /goal: dejar a Claude Code trabajando solo
Hola, bienvenido. En esta lección vamos a dejar la sesión abierta y que Claude siga trabajando sin que tengas que escribir cada paso, justo lo contrario de lo que hicimos en la lección anterior al sacar Claude Code de la sesión interactiva con claude -p. Para eso hay 2 comandos que parecen iguales y resuelven problemas distintos. /loop repite un prompt a intervalos mientras la sesión sigue abierta, y /goal fija una condición de fin para que Claude encadene turnos hasta cumplirla. Vamos a ver cómo funciona cada uno, cómo pararlos, qué gastan y cuándo tiene sentido usar uno, el otro o ninguno.
Auto mode no basta, porque te quita los avisos de permiso durante un turno, pero cuando Claude cree que ha terminado, se para y te devuelve el control. Si la tarea necesita volver a mirar algo cada cierto tiempo, como un despliegue o un pipeline que tarda, o si necesita seguir hasta que se cumpla algo que se puede comprobar, como que el análisis estático quede limpio, alguien tiene que escribir el siguiente prompt. Con /loop lo escribe el reloj, y con /goal lo decide un segundo modelo que comprueba tu condición al final de cada turno.
Para seguir la lección necesitas el proyecto con el último commit, los contenedores de Sail levantados y una sesión de Claude Code abierta en su raíz. Cuando una función necesite una versión mínima, te la indico.
Qué diferencia hay entre /loop y /goal
La documentación los compara con una tercera forma de mantener viva una sesión, un hook Stop, y la diferencia está en qué hace que empiece el siguiente turno y en cuándo se para:
| Forma | El siguiente turno empieza cuando | Se para cuando |
|---|---|---|
/goal |
Termina el turno anterior | Un modelo confirma que la condición se cumple o que es imposible, un error que tienes que arreglar tú borra el objetivo o lo quitas con /goal clear |
/loop |
Pasa un intervalo de tiempo | Lo paras tú o Claude decide que el trabajo está hecho |
Hook Stop |
Termina el turno anterior | Lo decide tu propio script o prompt |
Fíjate en la columna de cuándo empieza el siguiente turno, porque es la que decide cuál usar. /loop mira el reloj: tiene sentido cuando lo que esperas pasa fuera de Claude, como un build que termina o un comentario que llega a una pull request, y quieres que Claude lo revise cada cierto tiempo. /goal mira el trabajo: tiene sentido cuando Claude es quien tiene que llegar a un estado concreto, y quieres que no se pare hasta conseguirlo.
La tercera fila ya la conoces de la sección de hooks. Un hook Stop vive en un archivo de configuración y se aplica a todas las sesiones de su ámbito, mientras que /goal es un atajo para la sesión actual. Por debajo, /goal es eso mismo: un hook Stop basado en un prompt, de ámbito de sesión, que Claude Code configura por ti.
- 02Repetir un prompt con /loop
- 03Fijar una condición de fin con /goal
- 04Cuándo usar cada uno