TL;DR Instala la app de Claude, pon
remoteControlAtStartupentruey enciendePush when Claude decidesyPush when actions requireden/config. Se configura una vez y ya puedes levantarte de la mesa.
Lanzas una tarea larga. Te levantas a por un café. Vuelves a los veinte minutos y la sesión está exactamente donde la dejaste.
No se colgó. A los dos minutos pidió permiso para ejecutar algo y ahí se quedó, con el prompt abierto, esperando a que alguien dijera que sí. Dieciocho minutos de sesión viva sin avanzar un paso, porque tú estabas en la cocina.
El sonido al terminar no cubre este caso. Suena en el ordenador del que acabas de irte, y solo cuando la tarea acaba, que es justo el momento en el que ya da igual.
Las dos condiciones
Claude Code sabe mandarte una notificación al teléfono. Hacen falta dos cosas, y la segunda es la que se olvida:
Los dos interruptores de push. Vienen apagados de fábrica. En el código de /config los dos valores son ?? false, así que nadie los tiene encendidos por accidente.
Una sesión de Remote Control conectada. El aviso viaja por ese canal. Si no hay conexión no hay push, por muy encendidos que estén los interruptores. Y Remote Control solo se activa cuando lo pides, salvo que le digas lo contrario.
Ahí está el fallo silencioso: enciendes los toggles un día, te olvidas, y los avisos solo llegan las veces que te acordaste de lanzar /rc. Yo he tenido esa configuración a medias durante meses.
Cómo dejarlo puesto
1. La app, con la misma cuenta
Instala la app de Claude en iOS o Android, entra con la misma cuenta y la misma organización que usas en la terminal, y acepta el permiso de notificaciones del sistema. Si la cuenta no coincide, no hay nada que conectar.
2. Auto-connect, para no depender de tu memoria
En ~/.claude/settings.json:
{
"remoteControlAtStartup": true
}
Cada sesión interactiva que abras queda accesible desde el móvil sin que hagas nada. También está en /config, en la fila Enable Remote Control for all sessions, con tres valores: true, false y default.
Un detalle de precedencia que ahorra sustos: en .claude/settings.json o .claude/settings.local.json del proyecto, un false se respeta y desactiva el auto-connect ahí, pero un true se ignora. Un repo que te descargas no puede encender Remote Control a todo el que lo abra.
3. Los dos interruptores
/config, bloque de notificaciones:
Push when actions required false → true
Push when Claude decides false → true
No son lo mismo y conviene entender la diferencia antes de encender solo uno:
Push when actions requiredes el que resuelve la escena del café. Salta con los prompts de permiso y con las preguntas, o sea con todo lo que deja la sesión parada esperándote.Push when Claude decideses el proactivo. Salta cuando una tarea larga termina, y lo decide el modelo.
Si /config muestra No mobile registered, abre la app en el teléfono para que refresque su token. El aviso desaparece la próxima vez que Remote Control conecte.
Quién decide cuándo suena
Con Push when Claude decides, decide Claude. No hay configuración por evento más allá de esos dos interruptores: manda uno cuando una tarea larga termina o cuando necesita una decisión tuya para seguir.
Lo que sí puedes hacer es pedirlo en el propio prompt:
avísame al móvil cuando terminen los tests
Esa frase funciona como instrucción, no como configuración. Sirve para la tarea que estás lanzando ahora.
Que no suene cuando estás delante
Un aviso al móvil por cada respuesta sería insoportable, y el diseño lo tiene en cuenta: Claude Code se salta el push mientras escribes o tienes el foco en la terminal conectada.
Eso cubre el caso obvio, pero no el de estar en la misma máquina con otra ventana delante. Desde la v2.1.181 puedes extenderlo con un archivo testigo:
{
"env": {
"CLAUDE_CLIENT_PRESENCE_FILE": "/tmp/claude-presence"
}
}
Mientras ese archivo exista, no hay push. La idea es que lo cree quien sabe si estás delante: un listener que lo escriba al desbloquear la pantalla y lo borre al bloquearla.
Si no llega nada
| Síntoma | Causa habitual |
|---|---|
No mobile registered en /config |
El teléfono no ha registrado su token. Abre la app |
| Llegan tarde o no llegan, en iOS | Modos de concentración y resúmenes de notificaciones. Revisa Ajustes › Notificaciones › Claude |
| Llegan tarde, en Android | Optimización agresiva de batería. Exime a la app de Claude en los ajustes del sistema |
No aparecen los interruptores en /config |
Las filas de push son condicionales, no salen siempre. Repasa los requisitos de más abajo antes de buscar otra causa |
Referencia
| Ajuste | Dónde | Por defecto | Qué hace |
|---|---|---|---|
remoteControlAtStartup |
settings.json o /config |
default |
Conecta Remote Control en cada sesión interactiva |
Push when actions required |
/config |
false |
Push con prompts de permiso y preguntas |
Push when Claude decides |
/config |
false |
Push proactivo cuando el modelo lo estima |
CLAUDE_CLIENT_PRESENCE_FILE |
settings.json |
sin poner | Silencia el push mientras exista ese archivo |
Requisitos
- Planes Pro, Max, Team o Enterprise. Con API key no funciona, y en Team y Enterprise un Owner tiene que habilitar antes Remote Control.
- No disponible en Amazon Bedrock, Google Cloud Agent Platform ni Microsoft Foundry.
- La terminal se queda abierta: el proceso sigue siendo tuyo. Si lo que quieres es cerrar el portátil, ese es otro problema distinto.
Un apunte final sobre el toggle de permisos. Si te salta demasiado, el problema no es la notificación, son los permisos: revisa auto mode antes de apagar el aviso. El objetivo no es que el teléfono te interrumpa más, es que no vuelvas nunca a una sesión que llevaba veinte minutos parada.
Documentación oficial: Remote Control