Skip to main content

Remote Sessions

Al habilitar Remote Sessions puedes acceder a la misma sesión desde la web o el móvil mediante Mission Control de GitHub. Al activarlo, cada sesión se conecta a Mission Control y se emite una URL que puedes compartir como enlace o código QR. Si lo que quieres es ejecutar la propia sesión en el entorno hospedado por GitHub en lugar de en local o en un servidor propio, usa Cloud Sessions.

Requisitos previos

  • El usuario está autenticado (token de GitHub o usuario ya logueado)
  • workingDirectory es un repositorio de GitHub

Habilitar a nivel de cliente (siempre ON)

Si habilitas remote: true, se emite automáticamente una URL remota para todas las sesiones dentro del repositorio de GitHub. En lugar de añadirlo de forma fija en config/copilot.php, resulta más manejable activarlo con useStdio() solo para los procesos que lo necesiten.
La opción remote solo es efectiva cuando el SDK arranca el proceso CLI. Es decir, solo funciona en modo stdio. Se ignora cuando te conectas a un servidor externo, por ejemplo con useTcp().

Habilitar por sesión (bajo demanda)

Si quieres iniciar el compartido remoto a mitad de camino, cambia el estado vía RPC. Equivale a los comandos /remote on y /remote off del CLI.

Remote Control para todo el runtime (modo TCP)

La opción remote: true se aplica cuando el SDK inicia el proceso de la CLI, por lo que solo funciona en modo stdio. Cuando te conectas a un servidor CLI existente en modo TCP, esta opción se ignora. En modo TCP, usa $client->rpc()->sessions() para gestionar un único Remote Control para todo el runtime. A diferencia de remote()->enable() por sesión, estos métodos te permiten iniciar, detener y transferir Remote Control entre sesiones, y consultar su estado actual.
El estado es uno de off, connecting, active o error. Cuando el estado es active, también puedes consultar frontendUrl e isSteerable.
Para notificar al runtime que la posibilidad de control remoto de una sesión ha cambiado, usa el RPC con ámbito de sesión.

Generar códigos QR

Puedes convertir la URL remota obtenida en un código QR y pasársela al móvil. Puedes usar BaconQrCode, que también usa Laravel Fortify.

Consideraciones

  • La opción remote solo es efectiva cuando el SDK arranca el proceso CLI. Se ignora al conectar con un servidor externo, por ejemplo con useTcp().
  • Si workingDirectory no es un repositorio de GitHub, en el modo siempre ON se salta la configuración remota. Con la activación bajo demanda (remote()->enable()) puede producirse un error.
  • Configura correctamente las credenciales (github_token o use_logged_in_user).

Referencias

Consulta la información más reciente en el repositorio de GitHub.
Última modificación el 19 de octubre de 2026