Guía

Claude Code se para cuando tu Mac entra en reposo

Le diste a Claude Code una tarea larga, cerraste la tapa y al volver la sesión estaba muerta. El agente no tiene ningún problema. macOS puso la máquina en reposo. El reposo suspende todos los procesos, corta la red y cierra cualquier conexión SSH. Esta página explica los ajustes que lo evitan, en el orden en que conviene probarlos. También explica cuándo la solución honesta es usar otra máquina.

Qué pasa de verdad con el reposo

Cuando un Mac entra en reposo, la CPU deja de ejecutar tus procesos. El agente no muere. Se queda congelado. Cuando la máquina despierta, el proceso continúa. Para entonces, la conexión con la API ya ha caducado. La llamada a la herramienta que estaba a medias ha fallado. En un portátil, cerrar la tapa significa reposo en segundos, salvo que algo lo impida. La pantalla de bloqueo no provoca el reposo. El salvapantallas tampoco. Solo lo provocan el temporizador de reposo y la tapa.

Solución 1: caffeinate para una sola tarea

macOS incluye una herramienta que mantiene la máquina despierta mientras se ejecuta un comando. Arranca el agente a través de ella y el Mac seguirá despierto hasta que el agente termine.

caffeinate -i claude

Esa opción evita el reposo por inactividad del sistema. Añade una segunda opción para mantener también la pantalla encendida. Eso solo importa para herramientas que controlan la pantalla.

caffeinate -di claude

Esto no aguanta con la tapa del portátil cerrada. El sensor de la tapa se impone a cualquier aserción de inactividad. Tampoco sirve de nada cuando el agente termina y lanzas la siguiente tarea sin caffeinate.

Solución 2: desactiva el reposo de la máquina

En un Mac de sobremesa, o en un portátil enchufado, pon el temporizador de reposo en nunca y déjalo así. Estos son los ajustes que usamos en cada Mac para agentes.

sudo pmset -a sleep 0
sudo pmset -a disksleep 0
sudo pmset -a displaysleep 10
sudo pmset -a womp 1

La pantalla sí puede apagarse. Así se ahorra energía y no cambia nada para un proceso de terminal. La última línea activa el despertar por red, que ayuda si algo llega a dormir la máquina.

Solución 3: la tapa cerrada

Un MacBook con la tapa cerrada entra en reposo, salvo que esté enchufado y conectado a una pantalla, un teclado o un ratón externos. Es la regla del modo cerrado de Apple. Sin pantalla, hay un ajuste más que obliga a la máquina a seguir despierta con la tapa cerrada.

sudo pmset -a disablesleep 1

Para deshacerlo, usa el mismo comando con un cero. Dos avisos. El portátil se calentará dentro de una mochila o encima de una cama, así que déjalo sobre una superficie dura. Y si se suelta el cable de corriente, agotará la batería en pocas horas. Después se apagará sin un cierre limpio.

Solución 4: la terminal, no la máquina

A veces el Mac siguió despierto y aun así la sesión desapareció. Eso pasa cuando se cierra la ventana de la terminal o se corta la conexión SSH. Ambas cosas envían una señal de cuelgue a todo lo que hay dentro. La respuesta es un multiplexor de terminal. Ejecuta el agente dentro de una sesión de tmux y sobrevivirá a la ventana, al corte de SSH y a los fallos del Wi-Fi.

brew install tmux
tmux new -s agent
claude

Para desconectarte, pulsa Ctrl-b y luego d. Para volver más tarde basta un comando, desde cualquier terminal o desde el móvil por SSH.

tmux attach -t agent

Hay una guía completa de esta configuración: mantener viva una sesión de Claude Code con tmux.

Solución 5: volver tras un reinicio

Las actualizaciones de seguridad reinician la máquina. Los cortes de luz también. Tras un reinicio no se ejecuta nada hasta que alguien inicia sesión. Si la máquina debe funcionar sin supervisión, activa el inicio de sesión automático del usuario del agente en Ajustes del Sistema. Después añade un LaunchAgent que vuelva a crear la sesión de tmux al iniciar sesión. La lista de comprobación del Mac siempre encendido tiene la lista completa, incluida la batería de respaldo.

Cuándo el portátil es la máquina equivocada

Todo lo anterior funciona. También convierte tu portátil en un servidor que no puedes llevarte a ninguna parte. Cuando el agente ya hace trabajo real por la noche, casi todo el mundo lo pasa a una máquina cuyo único trabajo es seguir encendida. Hay cuatro opciones. Un Mac mini de sobra en casa. Un equipo Linux, si no necesitas Xcode. Un Mac en la nube. O un Mac mini alojado que otra persona mantiene despierto. La comparativa de sitios donde ejecutar un agente 24/7 pone los costes uno al lado del otro.

Preguntas frecuentes

¿caffeinate mantiene Claude Code en marcha con la tapa cerrada?

+

No. En un MacBook, el sensor de la tapa se impone a caffeinate. Necesitas la máquina enchufada y con una pantalla externa conectada, o el ajuste de energía disablesleep.

¿La pantalla de bloqueo o el salvapantallas paran el agente?

+

No. Bloquear la pantalla y activar el salvapantallas no ponen la máquina en reposo. Solo lo hacen el temporizador de reposo, la batería baja o la tapa cerrada. Con la pantalla bloqueada, un agente de terminal funciona bien.

¿Esto también vale para Codex?

+

Sí. Codex CLI es un proceso de terminal, igual que Claude Code. Le valen los mismos ajustes de reposo, caffeinate y tmux, y la misma regla de la tapa.

¿Puedo mantener el Mac despierto desde el móvil?

+

Puedes lanzar una tarea desde el móvil con Remote Control de Claude Code o por SSH. Pero no puedes impedir a distancia que un Mac entre en reposo una vez que lo decide. Configura los ajustes de energía una vez en la propia máquina.

Guías relacionadas