Mantener a Claude Code trabajando hacia un objetivo con /goal
/goal fija una línea de meta. Después de cada turno, un segundo modelo comprueba si la condición se cumple; si no, Claude empieza otro turno en vez de devolverte el control. El objetivo se borra cuando la condición se cumple, cuando el verificador la juzga imposible o cuando un error que debes arreglar tú detiene el turno. Así se usa sin perder el control del reloj ni de la factura.
Cuándo encaja
Trabajo sustancial con un estado final que se pueda verificar: migrar un módulo hasta que todas las llamadas compilan y pasan las pruebas, implementar un documento de diseño hasta que se cumple cada criterio de aceptación, partir un archivo grande hasta que cada parte queda por debajo de un tamaño, o despachar una lista de incidencias etiquetadas hasta vaciar la cola. Para trabajo vago o abierto, usa una conversación normal.
¿/goal, /loop o un hook Stop?
/goal: el siguiente turno empieza cuando acaba el anterior. Se detiene cuando el verificador dice que la condición se cumple o es imposible, cuando un turno falla por un error que debes arreglar tú, o cuando lo borras./loop: el siguiente turno empieza cuando pasa un intervalo de tiempo. Se detiene cuando tú lo paras o Claude decide que el trabajo está hecho. Mira programar con /loop.- Hook Stop: se dispara tras cada turno como
/goal, pero vive en tu archivo de ajustes, vale para todas las sesiones de su ámbito y puede ejecutar tu propio script o prompt como comprobación.
Tal como leemos la documentación, /goal es un atajo para un hook Stop basado en prompt y limitado a la sesión. Además se combina con el modo automático: el modo automático quita las preguntas por herramienta, /goal quita las preguntas por turno. Un objetivo no cambia tu modo de permisos, así que en modo manual Claude sigue preguntando antes de lo que tus ajustes no permitan ya.
Fijar uno
/goal todas las pruebas de test/auth pasan y el lint está limpio
Fijar un objetivo empieza un turno enseguida, con la condición como instrucción. Solo puede haber un objetivo activo por sesión; uno nuevo sustituye al anterior. Un indicador /goal active muestra cuánto lleva en marcha, y con Ctrl+O ves el motivo de cada veredicto.
Escribe una condición que el verificador pueda comprobar
El verificador solo juzga lo que Claude ha puesto en la conversación. No ejecuta comandos ni abre archivos por su cuenta. Por eso escribe la condición como algo que la propia salida de Claude pueda demostrar: «todas las pruebas de test/auth pasan» funciona porque Claude ejecuta las pruebas y el resultado aparece en la transcripción. Una buena condición suele tener:
- Un estado final medible: el resultado de una prueba, el código de salida de una compilación, un número de archivos, una cola vacía.
- Una comprobación indicada: «
npm testtermina con 0», «git statusestá limpio». - Restricciones que importan: «no se modifica ningún otro archivo de pruebas».
Puede tener hasta 4.000 caracteres. Para acotar cuánto dura, pon un límite en la propia condición, como or stop after 20 turns («o para tras 20 turnos»); Claude informa de su avance respecto a él en cada turno.
Estado, borrar, retomar
/goala secas muestra la condición, cuánto lleva, los turnos evaluados, el gasto de tokens hasta ahora y el último motivo del verificador./goal clearlo quita. También valenstop,off,reset,noneycancel, y/clearquita cualquier objetivo activo.- Al retomar una sesión se restaura un objetivo que seguía activo. La condición se conserva; el contador de turnos, el reloj y la base de tokens empiezan de nuevo. Un objetivo cumplido o borrado no se restaura.
Sin pantalla
claude -p "/goal CHANGELOG.md tiene una entrada por cada PR fusionado esta semana"
Con -p todo el bucle corre en una sola llamada. Con la salida de texto por defecto solo ves la respuesta final, así que un objetivo largo puede parecer atascado; añade --output-format stream-json --verbose para ver cada mensaje según ocurre. Ctrl+C lo detiene. Más sobre ejecuciones no interactivas en ejecutar Claude Code desde un script.
Cómo funciona la comprobación y cuánto cuesta
Cuando Claude acaba un turno, Claude Code envía la condición y la conversación hasta ese momento a tu modelo pequeño y rápido, que responde aún no se cumple (Claude continúa, usando el motivo como guía), se cumple (el objetivo se borra) o imposible (se borra y queda el motivo registrado). Si Claude sigue respondiendo al verificador varios turnos seguidos sin usar ninguna herramienta, Claude Code detiene el bucle y te devuelve el control con el objetivo aún fijado. La documentación dice que los tokens del verificador se facturan en el modelo pequeño y suelen ser pocos frente a los turnos principales, así que el coste real son los turnos; por eso importa un límite de turnos en la condición. Un aviso de la documentación: ANTHROPIC_DEFAULT_HAIKU_MODEL, que cambia el modelo del verificador, también cambia el modelo del alias haiku, de los títulos de sesión y de algunas otras tareas en segundo plano.
Qué borra o pausa un objetivo
- Los errores que debes arreglar tú lo borran: un fallo de inicio de sesión (cuando Claude Code gestiona sus propias credenciales), un saldo de crédito agotado, un desbordamiento de contexto que la autocompactación no pudo despejar o un modelo no disponible. Arregla la causa y ejecuta
/goalde nuevo. - Los demás errores lo mantienen. Los que suelen pasar solos, como un servidor sobrecargado o una conexión caída, se reintentan (tras tres intentos se pausa). Los que un reintento solo repetiría, como un límite de peticiones, un límite de uso o un hook que terminó el turno, lo pausan con un aviso. Envía cualquier mensaje para reiniciar al instante.
- El trabajo en segundo plano retrasa la comprobación: si un subagente o un comando en segundo plano sigue en marcha cuando acaba un turno, ese turno no se evalúa. Tras unos 30 minutos de espera, Claude Code hace un chequeo: lista lo que corre y pide a Claude que lea la salida, siga esperando o detenga las tareas atascadas.
Requisitos
/goal forma parte del sistema de hooks, así que sigue la misma regla de confianza del espacio de trabajo que los hooks de los archivos de ajustes. No está disponible cuando disableAllHooks es true o cuando los ajustes gestionados solo permiten hooks gestionados; el comando dice por qué en vez de no hacer nada.
Todas las guías están en el índice de guías. Para los hooks que hay detrás, mira la guía de hooks. Esta página sigue la documentación de /goal 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. Detalles como los reintentos, los chequeos y los requisitos dependen de tu versión, y donde esta página y la documentación no coincidan, manda la documentación.
La skill gratis loop-stop da a las tareas largas un límite y una regla de parada, que es la misma idea que el límite de turnos de arriba. 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).