Para ejecutar Claude Code por la noche, dale tareas pequeñas con criterios de aceptación claros, una configuración de permisos que no te necesite, tests para comprobar su propio trabajo y una rama propia. Después mantén el ordenador encendido y despierto y revisa el resultado por la mañana. Lo difícil no es iniciar la ejecución. Es asegurarte de que el agente no pase siete horas esperando un sí, no agote la cuota a las 2 de la madrugada ni te deje una rama en la que no puedas confiar.
Esta guía cubre cada uno de esos puntos en orden: planificación, permisos, límites, barandillas, programación y la revisión de la mañana. La última parte muestra cómo gestiona el night shift de AgentVera esos mismos pasos.
Planifica la noche antes de empezarla
Un agente de noche no puede preguntarte nada. Todo lo que necesita tiene que estar en la tarea.
Escribe tareas que el agente pueda terminar solo
Las buenas tareas nocturnas son pequeñas, claras y comprobables:
- «Añade validación de entrada a los tres formularios de
src/settings/. Hecho cuandopnpm testpase y cada formulario rechace un email vacío.» - «Migra
utils/date.tsde moment a date-fns. Sin cambios de comportamiento. Todos los tests existentes deben pasar.» - «Escribe tests para
billing/invoice.tshasta que la cobertura de ese archivo supere la actual. No cambies el código fuente.»
Las malas tareas nocturnas son vagas o requieren una decisión: «limpia la API», «mejora el rendimiento», «elige una biblioteca de estado». El agente tomará una decisión con la que no estarás de acuerdo, o se detendrá y esperará.
Escribe los criterios de aceptación
Para cada tarea, anota cuándo se considera hecha:
- Qué tests o comprobaciones deben pasar.
- Qué archivos puede tocar y cuáles no.
- Qué hacer si se atasca. Por ejemplo: «Si no consigues que pase, haz commit de lo que tengas y escribe el motivo en NOTES.md.»
Pon las reglas del proyecto donde el agente las lea
Las convenciones, los comandos de test y las zonas prohibidas van en CLAUDE.md para que cada sesión los vea. Que sea breve. De noche es tu única voz en la sala.
Prefiere varias tareas pequeñas a una grande
Cinco tareas independientes de una hora te dan cinco ramas revisables. Una tarea de cinco horas te da un diff enorme y una sola oportunidad de que salga mal.
Decide cómo funcionan los permisos mientras duermes
En una sesión interactiva, una solicitud de permiso simplemente espera. De noche eso significa perder una noche entera por una sola pregunta. Resuélvelo antes de irte a la cama.
Para ejecuciones no interactivas (claude -p), la referencia del CLI te da estas opciones:
| Opción | Qué hace |
|---|---|
--allowedTools "Bash(npm test)" "Read" "Edit" | Estas se ejecutan sin preguntar |
--permission-mode dontAsk | Solo se ejecutan las herramientas preaprobadas; lo demás se deniega |
--permission-mode auto | Un clasificador revisa cada acción; las acciones bloqueadas no se ejecutan y Claude sigue |
--permission-prompts none | Las solicitudes se deniegan en lugar de esperar respuesta (v2.1.259 o posterior) |
--dangerously-skip-permissions | Sin solicitudes de ningún tipo; solo para contenedores o VMs aislados |
Un valor por defecto práctico para el trabajo nocturno es dontAsk con una lista de permitidos ajustada, más una regla de denegación para git push. Si te planteas saltarte los permisos por completo, lee antes qué se salta realmente —dangerously-skip-permissions.
Pon límites a la ejecución
Dos flags del modo print evitan que una ejecución se alargue sin fin:
--max-turns 40se detiene tras ese número de turnos del agente y sale con un error. Por defecto no hay límite.--max-budget-usd 5.00se detiene cuando el gasto estimado de API alcanza esa cantidad. Es una estimación del cliente y el gasto puede pasarse, así que deja margen. Importa si pagas por llamada a la API, no con una suscripción.
Un comando nocturno completo podría verse así:
git worktree add ../night-validate-forms -b night/validate-forms
cd ../night-validate-forms
claude -p "$(cat tasks/validate-forms.md)" \
--permission-mode dontAsk \
--allowedTools "Read" "Edit" "Bash(pnpm test *)" "Bash(git add *)" "Bash(git commit *)" \
--max-turns 60 \
--output-format json > ../logs/validate-forms.json
La ejecución ocurre en su propio git worktree, así que nunca toca tu copia de trabajo. Para sesiones interactivas, claude -w <name> crea el worktree por ti.
Planifica en torno a los límites de uso
Con una suscripción, Claude Code tiene un límite móvil de 5 horas y un límite semanal. Una noche larga puede alcanzar cualquiera de los dos, y la ejecución se detiene hasta que la ventana se reinicia. Damos los detalles en límites de uso de Claude Code.
Algunos hábitos ayudan:
- Empieza el trabajo pesado pronto por la tarde-noche, para que un reinicio pueda caer dentro de la noche.
- Usa un modelo más barato para tareas simples como tests, documentación y renombrados.
- Mantén el contexto pequeño. Las tareas cortas y un CLAUDE.md ligero gastan menos tokens. Consulta uso de tokens de Claude Code.
- No apiles diez agentes en una cuenta esperando que todos terminen.
Usa los tests como barandilla
Sin tests, «hecho» solo significa que el agente se detuvo. Con tests, tienes algo que comprobar.
- Haz que los tests formen parte de la definición de hecho. «Hecho cuando
pnpm testypnpm typecheckpasen.» - Prohíbe editar tests para hacerlos pasar, salvo que esa sea la tarea. Dilo en la tarea y en CLAUDE.md.
- Haz commit tras cada paso que pase. Los commits pequeños son fáciles de revisar y de revertir.
- Nunca hagas push ni despliegues. Deniega
git pushy todo lo que toque producción. La mañana es para decidir qué se publica.
Programa la ejecución
Si lanzas las ejecuciones a mano a medianoche, dejarás de hacerlo al cabo de una semana. Dos formas de programar:
- cron o launchd. Una línea de crontab como
0 23 * * 1-5 /path/to/night.shinicia un script las noches entre semana. El script ejecuta unclaude -ppor archivo de tarea y escribe los logs. - Un orquestador que mantenga una cola, ejecute tareas en paralelo, reintente y escriba un informe. De eso trata el resto de este artículo.
En cualquier caso, la máquina debe estar encendida y no suspendida. En un Mac, caffeinate o un ajuste de mantener despierto basta.
Revisa por la mañana
Reserva de 20 a 30 minutos para revisar:
- Lee primero el resumen: qué terminó, qué se atascó, qué sigue en marcha.
- Para cada rama terminada, lee el diff, no solo el mensaje del agente. Comprueba que los tests se ejecutaron.
- Busca cambios de riesgo: migraciones, autenticación, dependencias, configuración de CI,
.env. - Fusiona lo bueno, devuelve lo que no con una nota y vuelve a encolar lo que se atascó con una tarea más clara.
Cómo lo gestiona el night shift de AgentVera
AgentVera junta estos pasos en un solo lugar. El night shift está en los planes Pro y Team.
Una cola por proyecto
Abre la página Details de un proyecto y ve a la pestaña Night shift, o usa el botón Night shift de la pantalla de inicio. Cada proyecto y cada grupo tiene su propio turno. Escribes una tarea en Add a task for tonight y pulsas Add to queue. El texto de ejemplo resume la regla: «Write the acceptance criteria; the agent can’t ask questions at night.» (Escribe los criterios de aceptación; el agente no puede hacer preguntas de noche.)
Para cada tarea eliges quién la hace:
- Un agente abierto. Trabaja en su propia carpeta y conversación, y no se cierra después. Las tareas dadas al mismo agente se ejecutan en orden.
- Abrir un agente nuevo. Un agente Claude Code o Codex en su propio worktree, en una rama
night/<date>-<slug>. Se cierra cuando termina la tarea.
Las opciones incluyen Run each task in its own worktree and branch (recommended), Open a GitHub PR for finished tasks y As a draft PR.
La ventana y las reglas
La ventana por defecto es de 23:00 a 07:00. Con Start automatically every night, el turno arranca solo. At most at once fija cuántas tareas se ejecutan en paralelo: 2 por defecto, hasta 6. También puedes pulsar Start now, o End the shift antes de tiempo. Terminarlo significa que no empieza nada nuevo, los agentes en marcha terminan y se escribe el informe.
Los agentes del night shift siguen reglas fijas:
- Se les dice que estás durmiendo, así que no hacen preguntas.
- Hacen commit pero no push.
- Ejecutan los tests.
- Terminan con un marcador de hecho o atascado. Sin él, se empuja al agente hasta dos veces y luego la tarea se marca como atascada.
- Las solicitudes que necesitan aprobación no se aprueban por la noche. Se listan en el informe de la mañana.
Cada tarea muestra un estado: Queued, Running, Done, Stuck, Error o Cancelled. Una tarea atascada se puede volver a poner con Requeue.
Para reducir las aprobaciones que esperan hasta la mañana, pon el nivel de Permissions del agente en Auto. En Pro y Team también puedes dejar que la aprobación automática responda solicitudes seguras como lecturas, tests y lint.
Mantén la máquina despierta
El night shift no se ejecuta con el ordenador apagado. La app debe estar abierta y el ordenador despierto. Activa Keep the computer awake en Settings → Notifications. Funciona como caffeinate: el Mac no se suspende mientras AgentVera esté abierto, aunque la pantalla sí puede apagarse.
Tareas programadas para trabajo recurrente
Para trabajos que se repiten, como una revisión nocturna de dependencias o una limpieza semanal, usa las tareas programadas. Viven en la página Details del proyecto, en Scheduled, y están en todos los planes.
- Elige un preajuste o escribe una expresión cron. Una vista previa muestra las próximas ejecuciones.
- Si el agente está ocupado cuando llega la hora, elige entre esperar, enviar igualmente u omitir.
- El agente puede iniciarse si está detenido, y Run now lanza una tarea al instante.
- Las ejecuciones fallidas se pueden notificar a Telegram.
Igual que el night shift, solo se ejecutan mientras la app está abierta. Las ejecuciones perdidas mientras la app estaba cerrada no se recuperan después.
Cuando una cuenta alcanza su límite
Con el cambio de cuentas (Pro y Team), configuras una cadena de al menos dos cuentas de Claude o Codex. Cuando a una le queda un 3 % o menos de su límite de 5 horas o semanal, los agentes pasan a la siguiente cuenta, y la conversación puede ir con ellos. Los inicios de sesión caducados se omiten. Si has configurado una cadena, un agente que alcance su límite por la noche sigue en la siguiente cuenta en lugar de detenerse. Consulta los términos de tu proveedor antes de usar varias cuentas.
Entérate de los problemas, no de todo
Telegram puede enviar errores, solicitudes de aprobación, avisos de límite, tareas programadas fallidas y el informe matinal del night shift. /night muestra la cola, añade una tarea o inicia el turno desde tu móvil. Consulta notificaciones y aprobaciones para ver la lista completa.
El informe de la mañana y la bandeja de revisión
Cuando termina el turno, recibes una notificación de escritorio y un informe en Markdown guardado en disco. Los informes anteriores se listan en Morning reports. La versión de Telegram lleva solo recuentos: hechas, PRs abiertos, atascadas y aún en marcha.
El trabajo terminado también llega a la bandeja de revisión, una pestaña del panel derecho que cubre todos los agentes y proyectos. Cada tarjeta muestra:
- los archivos cambiados,
- notas de riesgo para migraciones, autenticación, dependencias, CI y
.env, - notas de tamaño, como 800 o más líneas cambiadas, 300 o más borradas, o sin tests,
- el resultado de Verify y la última respuesta del agente.
Desde cada tarjeta puedes usar Approve, Send to queue para poner la rama en el merge queue, o Send back con una nota para el agente.
Lista de comprobación nocturna
- Cada tarea es pequeña, independiente y tiene criterios de aceptación escritos.
- CLAUDE.md lista los comandos de test y los archivos que no se deben tocar.
- Los permisos están resueltos: lista de permitidos,
dontAsko auto, ygit pushdenegado. - Cada tarea se ejecuta en su propia rama o worktree.
- Hay límites de turnos o presupuesto en las ejecuciones con scripts.
- El trabajo pesado cabe en tus límites de uso, o hay una segunda cuenta lista.
- El ordenador sigue encendido y despierto.
- Te enterarás de los errores sin que te despierten en cada turno.
- Has reservado tiempo de revisión para la mañana.
Para terminar
Ejecutar Claude Code por la noche funciona cuando la noche está planificada. Eso significa tareas pequeñas con condiciones claras de «hecho», permisos que no te esperan, tests que comprueban el trabajo, ramas que protegen main y una revisión matinal que decide qué se publica. Puedes hacerlo todo con claude -p, cron y unos cuantos flags. El night shift de AgentVera reúne la cola, las reglas, los límites y el informe de la mañana en un solo lugar, para que dediques la mañana a revisar en lugar de a configurar.
Más información:
- Night shift
- Tareas programadas
- Bandeja de revisión
- Agentes de código en paralelo
- Merge queue para agentes de IA
Para probar AgentVera, empieza en la página de inicio.