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
GitHub Copilot Sandboxes are SO COOL
Canal:Gwyneth Peña-Siguenza1:50
Local sandboxing in the GitHub Copilot app (public preview)
Documentación:github.blog/changelog
Configuring local sandboxing in the GitHub Copilot app
Documentación:docs.github.com
About cloud and local sandboxes for GitHub Copilot
Documentación:docs.github.com
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
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.

La CLI de Copilot arrancando con la insignia /experimental y el indicador de sandbox en la barra de estado.Ver en 0:08 - 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 Copilot CLI slash-command menu listing /sandbox enable and /sandbox disable above the /sandbox [enable|disable] prompt hint](/images/guides/copilot-sandbox-tutorial/copilot-sandbox-tutorial-sandbox-enable-autocomplete.webp)
El autocompletado de /sandbox ofreciendo enable y disable.Ver en 0:24 - 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.

"Sandboxing has been enabled." — la confirmación que querías ver.Ver en 0:12
2 · Delimitar lo que el sandbox puede alcanzar
- 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.

La pestaña General: shell, servidores MCP y LSP, y acceso al llavero.Ver en 0:30 - 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.

Rutas de solo lectura para nvm y npm, con el directorio de trabajo incluido de serie.Ver en 0:32 - 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.

Política de red: saliente, red local y lista de permitidos por host.Ver en 0:36 - 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.

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
- 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.

"Sandboxing has been disabled." — fíjate en que la insignia de sandbox ya no está en la barra de estado.Ver en 0:38 - 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.

copilot --cloud --yolo — toda la sesión está a punto de dejar tu portátil.Ver en 0:50 - 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.

Control remoto conectado, con la URL de la sesión y el atajo del código QR.Ver en 1:00 - 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.

Pruebas corriendo en el sandbox en la nube, 80,4 AI Credits gastados hasta ahora.Ver en 1:10 - 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.

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.
- 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"Sandbox unavailable": la app señala el problema y ofrece un botón Retry sandbox una vez corregida la causa.
- 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.
- 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.
