Deepseek ArtifactsDeepseek Artifacts
De la demo oficial de sandbox de GitHub

Modo sandbox de Copilot: la guía ilustrada

El sandboxing local mantiene los comandos de shell, las herramientas de archivos y las llamadas de red de GitHub Copilot dentro de una caja a nivel de sistema operativo. Este recorrido sigue la demo oficial de GitHub: activarlo con /sandbox, dar forma a la política, apagarlo y entregar sesiones completas a la nube.

Lo esencial

  • El modo sandbox ejecuta los comandos de shell, herramientas de archivos y servidores MCP y LSP de Copilot dentro de un sandbox del sistema operativo: restringe archivos, red y credenciales sin VM ni contenedores (Seatbelt en macOS, bubblewrap en Linux, ProcessContainer en Windows).
  • En la app de Copilot, el sandboxing viene apagado de fábrica: abre los ajustes, elige el proyecto y activa "Sandbox new sessions". En la CLI, ejecuta /sandbox enable (experimental).
  • Ejecuta /sandbox para dar forma a la política: pestañas General, Filesystem y Network en la CLI; rutas adicionales de lectura/escritura, de solo lectura y denegadas, además de interruptores de red y credenciales en la app. Los cambios se aplican a sesiones nuevas o con /restart-session.
  • copilot --cloud mueve toda la sesión a un sandbox en la nube alojado por GitHub; te reconectas desde el enlace github.com/copilot/tasks o la pestaña Agents del repositorio. Los ajustes locales del sandbox no se aplican a las sesiones en la nube.

How to run GitHub Copilot in local and cloud sandboxes | demo

Canal:GitHub (official channel)1:31

Ver

GitHub Copilot Sandboxes are SO COOL

Canal:Gwyneth Peña-Siguenza1:50

Ver

Local sandboxing in the GitHub Copilot app (public preview)

Documentación:github.blog/changelog

Ver

Configuring local sandboxing in the GitHub Copilot app

Documentación:docs.github.com

Ver

About cloud and local sandboxes for GitHub Copilot

Documentación:docs.github.com

Ver

Los fotogramas de esta guía provienen de la demo oficial de sandbox de GitHub: una grabación de terminal limpia. El texto se redactó a partir del vídeo y la documentación de GitHub; los nombres de los ajustes se citan literalmente.

Las capturas de pantalla siguen siendo propiedad de sus creadores y se usan con atribución como referencia visual. El sandboxing local está en vista previa pública: los nombres y el comportamiento pueden cambiar.

El recorrido: 12 pasos

1 · Activar el sandboxing local

  1. 1

    Inicia Copilot en tu repositorio

    Arranca la CLI de Copilot en tu proyecto. El sandboxing es una función experimental de la CLI: el banner muestra la insignia /experimental y la barra de estado lleva el indicador de sandbox que aprenderás a leer.

    Copilot CLI v1.0.56 session start in a repo showing the yellow /experimental badge with the sandbox enabled indicator lit in the status bar
    La CLI de Copilot arrancando con la insignia /experimental y el indicador de sandbox en la barra de estado.Ver en 0:08
  2. 2

    Ejecuta /sandbox enable

    Escribe /sandbox y la paleta de comandos ofrece exactamente dos interruptores: enable y disable. Elige enable: el sandboxing se aplica a esta sesión de Copilot y a cada comando de shell que ejecute.

    Copilot CLI slash-command menu listing /sandbox enable and /sandbox disable above the /sandbox [enable|disable] prompt hint
    El autocompletado de /sandbox ofreciendo enable y disable.Ver en 0:24
  3. 3

    Confirma que la sesión quedó en sandbox

    Copilot imprime "Sandboxing has been enabled." y la barra de estado ahora lee "sandbox enabled" junto a tus AI Credits. De aquí en adelante, los comandos del agente se ejecutan dentro del sandbox.

    Copilot CLI printing Sandboxing has been enabled with the status bar reading sandbox enabled next to AI Credits 0
    "Sandboxing has been enabled." — la confirmación que querías ver.Ver en 0:12

2 · Delimitar lo que el sandbox puede alcanzar

  1. 4

    Abre /sandbox para dar forma a la política

    Un /sandbox a secas abre el panel Configure sandbox, guardado en settings.json bajo `sandbox`. La pestaña General decide qué corre dentro: comandos de shell, servidores MCP, servidores LSP y el acceso al llavero de macOS para los helpers de credenciales de git y gh.

    Copilot CLI Configure sandbox panel on the General tab with Sandboxing enabled, Sandbox MCP servers, Sandbox LSP servers and Allow keychain access checkboxes
    La pestaña General: shell, servidores MCP y LSP, y acceso al llavero.Ver en 0:30
  2. 5

    Delimita el sistema de archivos

    La pestaña Filesystem añade tu directorio de trabajo automáticamente a las rutas de lectura/escritura y puede restablecer permisos al salir del sandbox. Rutas de herramientas como ~/.nvm y ~/.npm se montan de solo lectura: amplía la lista si tu cadena de herramientas necesita más.

    Copilot CLI sandbox Filesystem tab showing Include working directory, Clear policy on exit and the read-only ~/.nvm and ~/.npm path list
    Rutas de solo lectura para nvm y npm, con el directorio de trabajo incluido de serie.Ver en 0:32
  3. 6

    Delimita la red

    La pestaña Network muestra las tres palancas: permitir internet saliente, permitir la red local y una lista Access por host. Si la tarea no necesita descargas, aprieta esto primero.

    Copilot CLI sandbox Network tab with the Allow outbound connections and Allow local network checkboxes plus an empty Access Host list
    Política de red: saliente, red local y lista de permitidos por host.Ver en 0:36
  4. 7

    Programa con normalidad: los comandos siguen en sandbox

    Trabaja como siempre. El agente planifica, edita y ejecuta comandos mientras la barra de estado sigue mostrando "sandbox enabled". Si un comando necesita algo que la política deniega, Copilot falla con estruendo en vez de escaparse en silencio.

    Copilot CLI agent planning a SQLAlchemy 2.0 migration while the status bar reads sandbox enabled at 61.8 AI Credits
    Una migración a SQLAlchemy planificada y ejecutada con "sandbox enabled" en la barra de estado.Ver en 0:20

3 · Trabajar, apagar o ir a la nube

  1. 8

    Vuelve atrás con /sandbox disable

    ¿Necesitas un paso fuera de la caja? /sandbox disable apaga el sandboxing: aparece "Sandboxing has been disabled." y la insignia de sandbox abandona la barra de estado. Puedes alternar según lo pida la tarea.

    Copilot CLI printing Sandboxing has been disabled after the /sandbox disable command with AI Credits 133 and no sandbox badge left in the status bar
    "Sandboxing has been disabled." — fíjate en que la insignia de sandbox ya no está en la barra de estado.Ver en 0:38
  2. 9

    Lanza un sandbox en la nube con copilot --cloud

    Para trabajo más pesado, arranca Copilot con la opción --cloud (la demo oficial la combina con --yolo; la documentación de GitHub muestra --cloud --experimental). La sesión corre en un entorno efímero alojado por GitHub en lugar de tu máquina.

    Terminal launching a Copilot cloud sandbox with the copilot --cloud --yolo command typed at the tailspin-toys git prompt
    copilot --cloud --yolo — toda la sesión está a punto de dejar tu portátil.Ver en 0:50
  3. 10

    Consigue el enlace de control remoto

    Cuando la sesión remota está aprovisionada, Copilot conecta el control remoto e imprime una URL github.com/copilot/tasks/... — ctrl+e muestra un código QR. El árbol de trabajo vive en /workspaces/<repo> dentro del sandbox en la nube.

    Copilot cloud session showing Remote control connected as GeekTrainer with the github.com/copilot/tasks session URL and the ctrl+e QR code hint
    Control remoto conectado, con la URL de la sesión y el atajo del código QR.Ver en 1:00
  4. 11

    Deja que compile y pruebe en la nube

    El agente crea archivos, instala dependencias y ejecuta tus scripts de prueba dentro del sandbox en la nube: aquí crea test_auth.py y corre la suite del backend. Tu máquina se queda quieta mientras los créditos avanzan en la barra de estado.

    Copilot cloud sandbox creating test_auth.py and running backend unit tests through the test-runner skill inside /workspaces/tailspin-toys
    Pruebas corriendo en el sandbox en la nube, 80,4 AI Credits gastados hasta ahora.Ver en 1:10
  5. 12

    Sigue y reincorpórate desde GitHub.com

    La sesión aparece en la pestaña Agents del repositorio como Remote CLI session: sigue el progreso, manda mensajes desde el navegador y retómala después con copilot --resume, que lista las sesiones locales y remotas.

    GitHub.com Agents tab listing Remote CLI sessions for the tailspin-toys repo while Copilot recommends Flask auth libraries in the session panel
    La pestaña Agents de tailspin-toys siguiendo la sesión en la nube en directo.Ver en 1:14

Dónde viven los ajustes: app de Copilot vs CLI de Copilot

El sandboxing local existe en dos superficies y sus ajustes se configuran por separado: cambiar uno nunca cambia el otro.

  • 1App de Copilot: apagado por defecto. Abre los ajustes de la app, selecciona el proyecto y bajo "Sandbox" activa "Sandbox new sessions". La política del proyecto describe lo que una sesión en sandbox puede solicitar.
  • 2Política de la app: el acceso a archivos empieza en lectura/escritura para el espacio de trabajo y el directorio actual, con listas de lectura/escritura adicional, solo lectura y denegadas; la red cubre internet saliente y la red local; las credenciales cubren git y GitHub CLI.
  • 3CLI de Copilot: el sandboxing es experimental: arranca con --experimental (o ejecuta /experimental on) y usa /sandbox enable, /sandbox disable o un /sandbox a secas para abrir el panel. Los ajustes persisten en settings.json bajo `sandbox`.
  • 4Los comandos con barra dependen del momento: /sandbox on o /sandbox off durante una sesión activa es una anulación solo para esa sesión, mientras que antes de iniciarla cambia el valor por defecto del proyecto. Usa /restart-session para aplicar cambios sin perder el historial.
  • 5Las sesiones en la nube son otro mundo: los ajustes locales no se aplican a los sandboxes en la nube ni a las sesiones en host remoto, y el sandboxing en la nube debe activarlo primero un propietario de organización o empresa.

La demo de CLI de esta guía muestra el camino más rápido; el interruptor por proyecto de la app es el valor por defecto duradero una vez tengas clara tu política.

Cuando el sandbox dice no: fallo cerrado por diseño

El sandbox está construido para fallar cerrado: si el sistema operativo no puede aplicar la política pedida, el comando se detiene con error en lugar de ejecutarse sin sandbox.

  1. 1Plataforma o política no admitida: si la política solicitada no se puede aplicar, el shell del sandbox falla con error; nunca retrocede en silencio a ejecutarse sin sandbox.
  2. 2"Sandbox unavailable": la app señala el problema y ofrece un botón Retry sandbox una vez corregida la causa.
  3. 3La trampilla de escape: un aviso "Run outside the sandbox?" puede ofrecer cancelar, ejecutar una vez fuera o apagar el sandboxing para la sesión; "Re-enable sandbox" lo devuelve. Caduca al reiniciar y nunca cambia los valores del proyecto.
  4. 4Los propietarios de empresa pueden tener la última palabra: la configuración administrada puede bloquear la trampilla fuera del sandbox, y allí la aplicación también falla cerrada.

Notas de plataforma: se recomienda macOS 15+ (Seatbelt); Linux necesita bubblewrap 0.5.0+ en el PATH además de slirp4netns, util-linux 2.35+, iptables y /dev/net/tun; Windows usa el nivel BaseContainer de ProcessContainer, donde una ruta denegada no garantizable hace fallar el comando con un mensaje unsupported-policy.

FAQ del sandbox de Copilot

Guías relacionadas