Blog

Cómo dejar Claude Code y Codex trabajando toda la noche con /goal en 2026: 14 horas en modo autónomo

Markdown

El comando /goal de Claude Code 2.1.139 y Codex CLI permite que un agente de IA trabaje de forma autónoma durante horas. Explico cómo configurarlo, doy ejemplos reales y cuánto cuesta en tokens.

Leer el artículo completo

Puntos clave

El comando /goal apareció en Claude Code 2.1.139 (11 de mayo de 2026) y Codex CLI 0.128.0 (30 de abril de 2026, estable desde el 21 de mayo). Defines una vez el criterio de finalización y el agente pasa por las etapas de planificación, acción y verificación por su cuenta hasta cumplir el criterio o quedarse sin tokens. OpenAI mostró públicamente una ejecución de 25 horas que utilizó 13 millones de tokens. Esto es adecuado para migraciones, benchmarks y refactorizaciones con criterios medibles. No es adecuado para tareas de UI, bases de datos de producción ni peticiones imprecisas como «mejóralo».

Encontrarás información sobre cómo trabajar con Ailoot en la documentación.

¿Qué es /goal y por qué apareció en 2026?

Puntos clave

Antes de /goal, cada turno del agente requería un «continúa» manual. Abría un archivo, lo leía, escribía algo, se detenía y esperaba. El comando /goal establece una sola vez un criterio de finalización: el agente decide por sí mismo cuándo ha terminado la tarea y no te devuelve el control hasta entonces.

Esta era la situación que todos vivíamos antes de abril de 2026: le asigno a Claude una tarea: «migra el proyecto de Pydantic v1 a v2». Empieza, se detiene después de 30 segundos, miro lo que ha hecho, escribo «continúa», da el siguiente paso, se detiene y vuelvo a escribir «continúa». En una migración grande, eso supone entre 200 y 300 «continúa» manuales. En la práctica, estoy pendiente del agente en vez de escribir otro código en paralelo.

El análisis de OpenAI concluyó que el problema no era la «estupidez» del modelo, sino la arquitectura del bucle. El modelo no sabía cuándo detenerse, así que frenaba en cada turno. Si le das un criterio de finalización, decidirá por sí mismo.

Así surgió /goal: un mecanismo integrado en el harness, no en el modelo.

La observación se hizo en la conferencia Code with Claude, en Londres, los días 19 y 20 de mayo de 2026. Describe lo que ocurrió realmente durante el mes posterior al lanzamiento de /goal en ambas herramientas.

¿Cómo se configura el modo Goal en Claude Code?

Puntos clave

Claude Code 2.1.139 se publicó el 11 de mayo de 2026 con el comando /goal. Un modelo pequeño (Haiku de forma predeterminada) comprueba el criterio después de cada turno. Si no se cumple, Claude toma otro turno. El criterio puede tener hasta 4.000 caracteres y solo puede haber un objetivo por sesión.

Un ejemplo mínimo de la documentación oficial de Anthropic:

claude -p "/goal CHANGELOG.md has an entry for every PR merged this week"

Este comando inicia el agente en segundo plano con un objetivo. Claude encuentra las PR, las coteja con CHANGELOG.md, añade las líneas que falten y se detiene cuando se cumple el criterio.

En el modo interactivo, escribe /goal seguido de la condición:

/goal all pytest tests pass and mypy strict reports zero errors

Esto es lo que hace Claude a continuación:

  • Después de cada turno, un modelo rápido independiente (Haiku de forma predeterminada) recibe la condición actual y el historial de la conversación
  • Este modelo responde «sí» o «no» con una breve explicación
  • Si responde «no», Claude inicia automáticamente otro turno sin devolverte el control
  • Si responde «sí», se borra el objetivo y recuperas el control

Después de cada turno, un modelo pequeño y rápido comprueba si se ha cumplido la condición. Si no se ha cumplido, Claude inicia otro turno sin devolverte el control.

— Documentación oficial de Claude Code, https://code.claude.com/docs/en/goal

Límites estrictos que nadie te cuenta hasta que te los encuentras:

  • /goal solo funciona en directorios de trabajo donde se haya aceptado el diálogo de confianza. Si estás en un equipo nuevo y Claude aún no recuerda ese directorio, el comando fallará
  • En entornos corporativos con disableAllHooks o allowManagedHooksOnly, el comando no está disponible
  • La condición puede tener hasta 4.000 caracteres
  • Solo puede haber un objetivo activo por sesión. Un nuevo /goal restablece el anterior
  • Con --resume, se conserva la condición, pero los contadores de turnos, tiempo y tokens se restablecen

Comandos de control:

  • /goal sin argumentos: muestra el estado actual
  • /goal clear (o stop, off, reset, none, cancel): borra el objetivo

Según Anthropic, el coste de la evaluación suele ser «insignificante en comparación con el coste del turno principal». Haiku evalúa el criterio y el texto de la conversación sin llamar a herramientas, por lo que la comprobación es barata; lo costoso son los turnos del modelo principal.

¿Cómo se configura /goal en Codex CLI?

Puntos clave

Codex CLI 0.128.0 añadió /goal el 30 de abril de 2026 como función experimental. El 21 de mayo, el modo pasó a ser estable en la versión 26.519 / npm 0.133.0. Funciona con dos plantillas de prompt: continuation.md («continuar») y budget_limit.md («detenerse»). El objetivo queda asociado al hilo y persiste tras reiniciar.

El comando es igual que en Claude:

codex
> /goal all vitest tests pass and there are no eslint errors

Codex ofrece más controles para los objetivos:

ComandoFunción
/goal conditionestablecer un objetivo
/goalconsultar el estado
/goal pausepausar
/goal resumereanudar
/goal editcambiar la condición (con GA)
/goal clearborrar el objetivo

La principal diferencia con Claude es que Codex comprueba por sí mismo si ha «terminado», en vez de usar un modelo independiente. Después de cada turno, Codex inserta automáticamente en el contexto la plantilla continuation.md del repositorio openai/codex. Traducción literal:

«Sigue trabajando para alcanzar el objetivo activo del hilo. No repitas trabajo ya realizado. Elige la siguiente acción concreta que te acerque al objetivo. Marca el objetivo como alcanzado solo cuando una auditoría confirme que realmente se ha cumplido y que no queda trabajo necesario.»

Cuando los tokens se acercan al límite, se inserta una segunda plantilla: budget_limit.md:

«El objetivo ha alcanzado su límite de tokens. No empieces trabajo sustancial nuevo. Termina este turno lo antes posible: resume los avances útiles, indica el trabajo pendiente y los bloqueos, y deja al usuario un siguiente paso claro.»

La lógica es la misma: «no mientas sobre lo que has hecho». La instrucción de continuación exige seguir solo si el objetivo realmente no se ha cumplido. budget_limit exige detenerse, pero describir con honestidad lo que queda pendiente.

A diferencia de Claude, Codex vincula el objetivo al hilo, no a la sesión. Por ejemplo, puedes cerrar el terminal y volver a abrirlo por la mañana; /goal resume retoma el mismo objetivo con la misma información en memoria. Esto resulta útil para repartir las ejecuciones en bloques según tu propio horario.

¿En qué se diferencian /goal en Claude Code y /goal en Codex?

Puntos clave

Claude separa al autor del juez: el modelo principal escribe código y otro modelo pequeño lo evalúa. Codex es un solo agente que comprueba su propio trabajo y se recuerda: «no mientas sobre lo que has hecho». Las arquitecturas son distintas, pero el riesgo de entrar en un bucle es el mismo.

Esta es la diferencia que más suele pasarse por alto en las comparaciones. Veámosla en detalle.

AspectoClaude Code /goalCodex /goal
Lanzamientov2.1.139, 11 de mayo de 2026v0.128.0, 30 de abril de 2026 (experimental) → v0.133.0 / 26.519, 21 de mayo de 2026 (estable)
Alcance del objetivoSesiónHilo (persiste tras reiniciar)
Controlesset, clear (+ alias)set, view, pause, resume, edit, clear
Quién comprueba si está «terminado»Un modelo independiente (Haiku de forma predeterminada)El mismo agente, mediante un prompt insertado
Acceso del evaluador a los archivosNo; solo juzga a partir del texto de la conversaciónSí; puede inspeccionar archivos, pruebas y logs
PresupuestoEn el texto de la condición: «o detente después de 20 turnos»Límite de tokens integrado + inserción automática de budget_limit.md
Límite de gasto estrictoNinguno; solo el límite de la suscripciónNinguno; solo el límite de la suscripción
Longitud de la condiciónHasta 4.000 caracteresNo especificada
Dónde funcionaModo interactivo, -p, aplicación de escritorio, Remote ControlAplicación, extensión para IDE, CLI, clientes ACP

La diferencia conceptual es que Claude trata el bucle como un contrato de calidad (con un evaluador externo), mientras que Codex lo trata como un mecanismo de ejecución (el agente se gestiona por sí mismo).

En la práctica, si quieres que el criterio de finalización se evalúe de forma imparcial, elige Claude. Si quieres que el agente pueda comprobar archivos y logs durante la evaluación, elige Codex.

Lee más sobre las propias herramientas en la guía de Codex frente a Claude Code.

Ejemplo real: migración de Pydantic v1 a v2 en 31 horas

Puntos clave

Codex /goal completó la migración de 14.000 líneas de un servicio interno de Pydantic v1 a v2 en 31 horas reales, repartidas en cuatro sesiones. El coste fue de aproximadamente 44 $ con gpt-5.3-codex.

Esto es lo que ocurrió:

  • Sesión 1 (8 horas): Codex analizó las importaciones, reescribió las declaraciones BaseModel y configuró mypy
  • Sesión 2 (10 horas): reescribió los validadores e hizo fallar unas 200 pruebas
  • Sesión 3 (7 horas): arregló las pruebas y encontró dependencias circulares
  • Sesión 4 (6 horas): resolvió los errores restantes de mypy y las regresiones

Coste en tokens:

«Tiempo total transcurrido: unas 31 horas repartidas en cuatro sesiones. Coste total de tokens de Codex con las tarifas de gpt-5.3-codex: unos $44.»

El precio se debe principalmente a los tokens de salida de gpt-5.3-codex, a razón de 14 $ por millón. Esto significa que 31 horas de trabajo autónomo cuestan aproximadamente lo mismo que varias semanas de una suscripción a ChatGPT Plus.

Lo que el agente no hizo por su cuenta:

  • No redactó documentación de migración para el equipo (Codex no entendió que formaba parte de la «migración»)
  • No actualizó los archivos de configuración para publicar con la nueva versión de Pydantic
  • Pasó por alto una regresión en producción, que no se detectó hasta un día después

En otras palabras, /goal hizo el 95 % del trabajo; el 5 % restante todavía hay que hacerlo a mano. Esto es normal en la generación actual y no es motivo para dejar de usarlo.

14 horas trabajando toda la noche en un controlador de macOS

Puntos clave

Los controladores, como categoría de tareas, se adaptan mal al trabajo interactivo, pero encajan perfectamente en bucles de larga duración.

Los tipos de tareas en los que este enfoque ofrece mayores ventajas:

  • Trabajo de bajo nivel donde una iteración y su comprobación tardan minutos (compilar, ejecutar pruebas)
  • Migraciones con criterios formales claros (tipos, pruebas, lint)
  • Benchmarks y optimizaciones con resultados medibles
  • Documentación y changelogs con una estructura clara

Claude /goal hace lo mismo igual de bien, pero Codex se suele elegir más para controladores porque comprueba los archivos y logs por sí mismo, en vez de depender de un juez externo.

¿Cómo limitar el gasto de Claude Code durante una tarea nocturna con /goal?

Puntos clave

/goal no tiene un límite máximo estricto de gasto: solo se aplican los límites de tu plan. Una hora real de Codex cuesta aproximadamente entre 1,50 y 3 $ con gpt-5.3-codex. Claude cuesta más durante la ejecución y menos durante la evaluación. La única protección consiste en escribir «o detente después de N turnos» en la propia condición.

Cifras de testimonios públicos:

EjecuciónDuraciónTokensCoste
Demo de la herramienta de diseño de OpenAI25 horas13M(ejecución interna)
Pydantic v1→v231 horas, 4 sesiones~3,1M de salida~$44
Sistema de entrevistas por voz6 horas y 44 minutos en total (41 minutos de cómputo)6,8 millones de entrada, 94 % en caché-
Prueba rápida de fuentes5 minutos188.832menos del 5 % de la cuota semanal

Lo principal que hay que entender: ni Claude Code ni Codex ofrecen un límite estricto del tipo «deja de gastar al llegar a N $». Hay tres protecciones:

  1. Límites de la suscripción: Pro, Max o Enterprise. Con el plan Max de Anthropic (100 $ al mes), una ejecución nocturna de 14 horas cabe dentro de la cuota semanal y queda bastante margen
  2. Límite de texto en la condición: escribe «o detente después de 20 turnos» directamente en /goal. El juez de Claude lo leerá y cerrará el objetivo
  3. Límite de tokens en Codex: mecanismo integrado que inserta budget_limit.md cuando se agotan los tokens

Lo que hace subir la factura durante la noche:

  • Un criterio impreciso como «hazlo más cómodo»: el agente nunca se detendrá porque el evaluador no sabe qué significa «mejor»
  • Acceso a API externas sin stubs: cada reintento consume tokens
  • Un contexto largo: después de 6,7 millones de tokens se activa la compactación del contexto y se pierde parte de la memoria

Lee más sobre cómo reducir costes en las guías a dónde van los tokens de Claude Code y cómo no agotar tus límites.

Cuándo NO ejecutar /goal: 5 situaciones

Puntos clave

Criterios imprecisos como «haz que se vea bien», ediciones de una sola línea, bases de datos de producción con datos de usuarios, cambios críticos para la seguridad y tareas con dependencias externas poco claras. En cualquiera de estas cinco situaciones, el agente se quedará atascado en un bucle o gastará tokens para nada.

La documentación de OpenAI indica explícitamente qué NO se debe hacer:

  1. Ediciones de una sola línea: usar /goal para renombrar una variable cuesta más que hacerlo a mano
  2. Objetivos imprecisos: «mejora el rendimiento», «limpia el código», «hazlo más cómodo». El evaluador no tiene un criterio, así que el agente dará vueltas sin parar
  3. Bases de datos de producción con datos de usuarios: el agente podría estropear una migración y restaurar desde una copia de seguridad cuesta más que cualquier ahorro
  4. Cambios de seguridad: autenticación, cifrado, procesamiento de pagos. Una persona debe revisar cada commit
  5. API externas sin stubs: cada fallo de red consume tokens y escapa a tu control

¿Qué hacer si el agente se atasca?

Puntos clave

Una señal de bucle es que el agente modifica el mismo sitio durante 3–4 turnos y luego revierte los cambios. Interrúmpelo con Ctrl+C, revisa el log y después concreta más el criterio o limita la tarea a una sola parte. En Claude, ayuda /goal clear; en Codex, usa /goal pause y modifica la condición.

Cómo detectar rápidamente un bucle:

  • El agente toca los mismos archivos durante 3 o más turnos y los devuelve a su estado anterior
  • En el log aparecen errores repetidos a los que ya ha respondido
  • A ti te parece que se ha cumplido la condición, pero el agente dice «no cumplida»
  • El uso de tokens por turno aumenta, pero el código no progresa

Qué hacer a continuación:

  • En Claude Code: /goal clear y después concreta más la condición
  • En Codex: /goal pause, inspecciona el hilo actual, modifica la condición con /goal edit y luego ejecuta /goal resume
  • En ambos: comprueba que el criterio se puede verificar de verdad (un comando devuelve el código de salida 0 o genera un resultado específico)

A menudo, la causa del bucle es la propia tarea, no el agente. La condición «todas las pruebas pasan» presupone que las pruebas pueden pasar. Si hay un problema arquitectónico profundo en el código, el agente seguirá dando vueltas alrededor del síntoma.

Criterios de finalización: disciplina de tareas para /goal

Puntos clave

Un buen criterio es un comando que devuelve el código de salida 0 o un resultado específico. «Todas las pruebas han pasado» sirve. «El código está más limpio» no. Lo mejor es combinar una comprobación formal con una métrica medible, por ejemplo, pruebas más una cobertura mínima.

OpenAI expone claramente esta regla en su Codex Cookbook oficial:

Un objetivo no se considera completado solo porque el modelo lo crea. Solo se completa cuando el resultado se ha contrastado con archivos, pruebas, logs, benchmarks u otros artefactos concretos.

— OpenAI Codex Cookbook, Uso de objetivos en Codex, https://developers.openai.com/cookbook/examples/codex/using_goals_in_codex

Plantillas de criterios que sí funcionan:

Tipo de criterioCómo formularlo
Pruebas«pytest tests/ devuelve el código de salida 0 y la cobertura es de al menos el 80 %»
Tipos«mypy strict informa de cero errores en src/»
Lint«eslint . devuelve el código de salida 0 en todos los archivos modificados»
Build«npm run build se completa correctamente y sin errores de TypeScript»
Benchmark«k6 run perf test muestra un p95 inferior a 200 ms»
Diff«git diff muestra cambios solo en los archivos X, Y, Z»
Combinación«pytest está en verde Y mypy strict informa de cero errores Y ruff check se supera»

La fila Combo combina varias comprobaciones: pruebas, mypy y lint. Si una sola sigue en rojo, el objetivo no se cierra. El evaluador no tiene margen para hacer trampas.

Antipatrones:

  • «El código es mejor»
  • «La facilidad de uso ha mejorado»
  • «El rendimiento ha mejorado»
  • «La documentación está completa»

La diferencia entre «funciona» y «no funciona» es que pueda verificarse. Si un criterio no se puede comprobar con un comando, no se puede comprobar en absoluto. Esto también es lo que OpenAI quiere decir con «coherencia a largo plazo»: un agente puede pensar durante mucho tiempo, pero no puede decidir por sí mismo qué significa «lo suficientemente bueno».

Puedes probar la idea de «un prompt, un resultado» en un proyecto real: establece /goal, formula un criterio, ejecútalo y analiza qué salió mal.

Conoce Ailoot.

Más detalles

Preguntas sobre Claude Code y Codex

¿Qué hace útil un criterio de finalización de /goal?

Un resultado comprobable: indica la prueba, comprobación de tipos, compilación o benchmark y el resultado requerido. Combina expresamente las comprobaciones necesarias y delimita los archivos permitidos. «Mejóralo» no da al agente un punto de parada medible.

¿Qué hago si el agente repite las mismas ediciones fallidas?

Interrumpe la ejecución e inspecciona el registro. Si sigue modificando y revirtiendo los mismos archivos, acota la tarea o precisa el criterio; verifica que las comprobaciones requeridas puedan pasar antes de continuar.

Todos los artículos