/loop y /goal: dejar a Claude Code trabajando solo
Hola, bienvenido. En la lección anterior sacamos Claude Code de la sesión interactiva con claude -p, y en esta lección vamos a hacer lo contrario: dejar la sesión abierta y que Claude siga trabajando sin que tengas que escribir cada paso. 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.
¿Por qué no basta con auto mode? Porque auto mode te quita los avisos de permiso dentro de 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 claude-tasks con el último commit, los contenedores de Sail levantados y una sesión de Claude Code abierta en la raíz del proyecto. /loop existe desde la versión 2.1.71 y /goal desde la 2.1.139, así que con la 2.1.283 del curso tienes los 2, y te indico la versión mínima de lo que ha llegado después.
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 primera columna, 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 monta por ti.
- 02Repetir un prompt con /loop
- 03Fijar una condición de fin con /goal
- 04Cuándo usar cada uno