caffeinate en Mac: ejemplos de comandos, límites y opciones más seguras para tu workflow de IA

Henry AGI
6 min de lecturaJun 2026
caffeinate en Mac: ejemplos de comandos, límites y opciones más seguras para tu workflow de IA

caffeinate es la herramienta de línea de comandos que trae cada Mac de fábrica para mantenerlo despierto sin abrir Configuración del Sistema: ejecútalo solo y bloquea el sueño por inactividad hasta que presiones Ctrl-C; añade -t 3600 y se detiene solo después de una hora; o envuélvelo alrededor de un comando y mantiene el Mac despierto solo mientras ese comando corre. Lo que no hace es tocar el sueño con la tapa cerrada, el nivel de batería ni la temperatura: cierra la tapa y un MacBook se duerme sin importar cuánto tiempo lleve corriendo caffeinate. A continuación están los comandos reales, las formas gratuitas de sortear el límite de la tapa cerrada (incluyendo una que casi nadie conoce) y en qué punto una herramienta consciente de la seguridad como LidRun retoma el trabajo justo donde caffeinate se detiene.

Qué hace realmente el comando caffeinate

caffeinate es una pequeña utilidad de línea de comandos que viene incluida en macOS desde hace años. Mientras se ejecuta, crea un bloqueo de gestión de energía —una petición al sistema para que no entre en reposo— y libera ese bloqueo automáticamente en el instante en que termina. No hay un paso aparte para "volver a apagarlo", algo que importa más adelante en este artículo, cuando lleguemos a un método alternativo que no se libera solo.

Ejecútalo sin flags y por defecto bloquea el sueño por inactividad. Agrega flags específicos para bloqueos específicos: -d también evita que la pantalla se apague, -m evita que los discos dejen de girar, -s evita el sueño del sistema (pero solo mientras está conectado a la corriente), y -u declara al usuario como activo, lo que despierta la pantalla y equivale más o menos a -d -t 5. Estos flags se combinan entre sí: son bloqueos independientes y combinables, no un único interruptor maestro. Ejecuta caffeinate -d -i y estarás manteniendo dos bloqueos independientes que deben terminar ambos antes de que el Mac pueda volver a dormirse.

Lo útil para los desarrolladores es que caffeinate no tiene interfaz gráfica, ni ícono en la barra de menú, ni archivo de configuración. Está pensado para usarse en scripts: se inicia, corre y se libera sin tocar ningún panel de ajustes. Para una sesión de terminal o un script con un inicio y un final claros, es realmente la herramienta correcta.

Ejemplos de comandos caffeinate — y cómo comprobar que realmente está funcionando

La forma más simple es solo caffeinate, ejecutado en una ventana de terminal que dejas abierta: bloquea el sueño por inactividad hasta que presionas Ctrl-C o cierras la ventana.

LidRun
Terminal showing caffeinate command examples and confirming an active assertion with pmset -g assertions
Una ejecución con tiempo definido, un build envuelto en el comando, y la confirmación de que caffeinate realmente mantiene la Mac despierta.

Para una duración fija, caffeinate -t 3600 mantiene el Mac despierto durante exactamente una hora, y luego termina y libera el bloqueo por sí solo, sin que tengas que acordarte de detenerlo.

Para una tarea específica, envuelve el comando directamente: caffeinate -i npm run build mantiene el Mac despierto solo mientras corre ese build, y se libera en el momento en que termina o falla. El mismo patrón funciona con caffeinate -i ./deploy.sh, un rsync largo, o cualquier otro comando con un inicio y un final claros. Si tú no iniciaste el proceso —por ejemplo, un build lanzado desde un IDE— caffeinate -w <pid> espera sobre un ID de proceso ya existente.

Los cron jobs corren sin una terminal interactiva, así que envolver la tarea en caffeinate es un patrón común para cualquier cosa programada de madrugada: 0 2 * * * /usr/bin/caffeinate -i /path/to/nightly-backup.sh mantiene el Mac despierto durante exactamente la duración del respaldo, ni un minuto más.

Para confirmar que caffeinate realmente está manteniendo el Mac despierto, ejecuta pmset -g assertions: lista todos los bloqueos de energía activos y el proceso dueño de cada uno; busca PreventUserIdleSystemSleep junto al PID de caffeinate. Un chequeo más simple, si solo necesitas saber que el proceso sigue vivo, es ps aux | grep caffeinate.

Cada invocación de caffeinate mantiene su propio bloqueo independiente, así que correr dos o tres a la vez no tiene problema: el Mac se queda despierto mientras al menos una siga viva, y matar una no libera las demás.

Guía relacionadaLidRun vs caffeinate: ¿qué herramienta para mantener la Mac despierta se ajusta a tu flujo de trabajo?

Dónde caffeinate se queda corto: tapa cerrada, batería y temperatura

Para su trabajo real —bloquear el sueño por inactividad durante un script, un build o una sesión de terminal que estás vigilando— caffeinate hace exactamente lo que promete, sin dependencias y sin necesidad de instalar nada.

Sus límites aparecen en el trabajo en modo Closed-Lid, y ahí es exactamente donde los agentes de IA para programar y las cargas de trabajo de desarrollo se meten en problemas: un refactor largo en Claude Code, una imagen de Docker compilando, un modelo de Ollama descargándose — cosas que la gente quiere dejar corriendo con la tapa cerrada, sobre el escritorio, en una mochila entre reuniones, o durante la noche. Los bloqueos de caffeinate no anulan el sueño que macOS activa al cerrar la tapa; un MacBook se sigue durmiendo con la tapa cerrada aunque caffeinate esté corriendo, sin excepción.

Tampoco tiene ningún concepto de nivel de batería o temperatura. Ejecuta caffeinate -t 28800 para una sesión de ocho horas con batería y mantendrá el bloqueo todo ese tiempo sin importar qué tan baja llegue la batería, sin forma de notar que el Mac se está calentando dentro de una mochila ni de ceder ante eso.

Además es manual y no guarda estado: no detecta qué está corriendo realmente, no tiene memoria entre sesiones. Tienes que volver a escribir los flags y el comando cada vez.

Las formas gratuitas de mantener un MacBook despierto con la tapa cerrada

La ruta que Apple respalda oficialmente no necesita software extra: conecta una pantalla externa, un teclado o mouse externo, y el cargador, y un MacBook no se dormirá al cerrar la tapa. Esto es el verdadero modo clamshell, y macOS lo maneja de forma nativa en cuanto los tres están conectados — sin necesidad de tocar la línea de comandos.

Sin una pantalla externa —con batería, tapa cerrada, sin monitor— la única palanca pública que bloquea el sueño al cerrar la tapa es un comando completamente distinto a caffeinate: sudo pmset -a disablesleep 1. Funciona, pero es una herramienta más pesada que caffeinate. Necesita contraseña de administrador, y a diferencia del bloqueo de caffeinate, no se libera solo cuando un proceso termina: es un ajuste persistente y a nivel de todo el sistema que sigue activo hasta que ejecutas explícitamente sudo pmset -a disablesleep 0 o reinicias el Mac.

Más allá de la línea de comandos, varias apps de barra de menú envuelven la misma idea básica en una interfaz gráfica. Amphetamine (gratis, Mac App Store) agrega disparadores más completos —apertura de una app, hora del día, red Wi-Fi, nivel de batería— sobre el mismo tipo de bloqueo. KeepingYouAwake es una interfaz de barra de menú gratuita y de código abierto para esencialmente el mismo tipo de bloqueo al estilo caffeinate. Lungo es un interruptor mínimo de un solo toque en la barra de menú, con temporizador incorporado. Caffeine es el clásico ícono de taza de café que le dio nombre a toda esta categoría, con versiones gratuitas y de pago a lo largo de los años. Todas cumplen bien la única tarea para la que fueron creadas —un interruptor manual de encendido/apagado para mantener el Mac despierto— y ninguna está diseñada para responder "¿sigue corriendo trabajo real?", "¿cuánta batería queda?" o "¿este Mac está demasiado caliente?", porque no es para eso que sirve un interruptor de mantener despierto.

El riesgo del método manual

El flag disablesleep es la parte con la que hay que tener cuidado de verdad. Como es global y persistente, si el script o la sesión que lo puso en 1 se cae —o simplemente olvidas el comando para revertirlo— el Mac no volverá a dormir con normalidad, con la tapa abierta o cerrada, hasta que alguien ejecute el comando con 0 o lo reinicies. Dejarlo activado toda la noche por accidente significa un consumo de batería real y evitable, y un Mac que nunca llega a descansar como se supone que debe hacerlo una laptop.

Correr trabajo pesado con la tapa cerrada también elimina parte del camino normal de enfriamiento del Mac: el flujo de aire alrededor del teclado y la bisagra depende en parte de que la tapa esté abierta. Sea cual sea el método que uses para mantener despierto un Mac en modo Closed-Lid, mantenlo ventilado —un soporte, una mochila abierta, no apilado debajo de otros equipos— en lugar de confiar solo en el software para manejar la temperatura.

Ninguna de las opciones gratuitas anteriores —caffeinate, el flag disablesleep, o los interruptores de barra de menú— está conectada a si lo que realmente te importaba (el build, el agente, el render) sigue corriendo o no. Mantienen el Mac despierto con un temporizador o un interruptor manual, lo que significa que o lo vigilas tú mismo, o te arriesgas a que se quede despierto, caliente y consumiendo batería mucho después de que el trabajo ya terminó.

Un patrón más seguro para cargas de trabajo de IA y desarrollo

La solución no es otro truco distinto para evitar el sueño, es combinar el mismo mecanismo con protecciones ligadas a lo que realmente está pasando en el Mac, no a un temporizador. El modo Closed-Lid de LidRun usa por debajo esa misma palanca pmset -a disablesleep, no una API privada, pero siempre combina el 1 con un 0 correspondiente: al detenerse, al cerrar la app, y se vuelve a verificar en el siguiente inicio si encuentra un 1 que quedó suelto por un cierre inesperado. Esa es la diferencia entre una palanca que cualquiera puede mover y una que no puede quedarse atascada por accidente.

Además, detecta trabajo real de forma automática en lugar de correr con un temporizador ciego: Claude Code, Cursor, Codex, Aider, Cline, Ollama, LM Studio y una docena más de agentes de programación y ejecutores de modelos locales, además de procesos de desarrollo en general. Cuenta la sola presencia de un agente como "trabajando", porque un agente de programación esperando la respuesta de una API puede quedarse en un uso de CPU casi nulo a mitad de tarea; un chequeo simple de uso de CPU interpretaría esa pausa, incorrectamente, como "terminado".

También condiciona cada sesión a las dos cosas que caffeinate ignora por completo. Un auto-stop de batería configurable, 20% por defecto, termina la sesión antes de que la batería llegue a un nivel peligrosamente bajo, y un piso de emergencia no negociable —4% por defecto, ajustable hasta 8%— fuerza el sueño para proteger el Mac sin importar qué más esté configurado. Un control de temperatura lee la temperatura real del chip y la señal de throttle térmico del CPU, no solo el indicador térmico general y poco preciso del sistema que la mayoría de herramientas usarían si es que llegan a rastrear la temperatura, y desactiva el modo Closed-Lid automáticamente si el Mac se está sobrecalentando de verdad. No es un bloqueo de sueño ciego: la seguridad gana sobre la comodidad cuando las dos entran en conflicto.

La versión honesta del patrón es corta: agente corriendo → mantenerse despierto; agente terminado, o el Mac ya no es seguro mantenerlo corriendo → liberarlo y dejarlo dormir. Los modos Keep Awake, Timer y Charging-only son gratis para siempre, sin prueba y sin límite de sesiones. El soporte de Closed-Lid es parte del plan de pago Pro, con un puñado de usos gratuitos de Closed-Lid para probar antes de decidir.

Pruébalo en vez de pelear con el reposo de tapa cerrada

LidRun mantiene tu trabajo en marcha con la tapa cerrada, con protección de batería y temperatura integrada.

Descargar para macOS

¿Ya tienes LidRun? Lee la guía de configuración →

¿Nuevo en LidRun? Consulta los precios →

Preguntas frecuentes

¿caffeinate mantiene un Mac despierto con la tapa cerrada?

No: los bloqueos de caffeinate no anulan el sueño que macOS activa al cerrar la tapa. Un MacBook se sigue durmiendo con la tapa cerrada aunque caffeinate esté corriendo, a menos que esté en verdadero modo clamshell (pantalla externa, teclado y corriente conectados) o tenga disablesleep activado vía pmset.

¿Cómo ejecuto caffeinate durante un tiempo determinado?

Usa el flag -t con un número de segundos, por ejemplo caffeinate -t 3600 para una hora. caffeinate termina y libera el bloqueo automáticamente cuando se cumple el tiempo, sin necesidad de Ctrl-C.

¿Puede caffeinate mantener el Mac despierto solo para un comando?

Sí: envuelve el comando directamente, como en caffeinate -i npm run build. El Mac se queda despierto solo mientras corre ese comando, y el bloqueo se libera en el momento en que termina. caffeinate -w <pid> hace lo mismo para un proceso que tú no iniciaste.

¿Cómo compruebo si caffeinate está corriendo en este momento?

Ejecuta pmset -g assertions para ver todos los bloqueos de energía activos y qué proceso es dueño de cada uno; busca PreventUserIdleSystemSleep junto al PID de caffeinate. ps aux | grep caffeinate también funciona, si solo necesitas confirmar que el proceso sigue vivo.

¿Cuál es la diferencia entre caffeinate y pmset disablesleep?

caffeinate solo bloquea el sueño por inactividad, y solo mientras su proceso sigue corriendo: no puede anular el sueño al cerrar la tapa y se libera solo automáticamente cuando termina. sudo pmset -a disablesleep 1 es una palanca distinta y más pesada que también bloquea el sueño en clamshell (tapa cerrada), pero es global y persistente: queda activada en todo el sistema hasta que la regresas explícitamente a 0 o reinicias, así que es fácil dejarla activada por accidente.

¿Existe una alternativa más segura a caffeinate para cargas de trabajo de IA y desarrollo?

Para sesiones de terminal cortas y vigiladas, caffeinate es realmente suficiente. Para sesiones de IA o desarrollo en modo Closed-Lid o sin supervisión, LidRun añade detección automática de agentes y soporte de Closed-Lid sobre esa misma idea básica, con auto-stop de batería y temperatura para que el Mac no se quede despierto, caliente y consumiendo batería después de que el trabajo ya terminó.

¿Tienes curiosidad por saber si LidRun es para ti?

Deja que ChatGPT, Claude o Perplexity lo investiguen — haz clic abajo y mira qué opina la IA sobre LidRun.

caffeinate en Mac: ejemplos de comandos, límites y opciones más seguras para tu workflow de IA