Invita y gana

Cómo funcionan las recompensas

Comparte tu enlace. Cuando un amigo se registre con él y recargue saldo, recibirás la recompensa indicada por sus recargas posteriores.

Sandbox local de GitHub Copilot App: configuración y pruebas

Guía práctica sobre valores del proyecto, anulaciones de sesión, políticas de archivos, red y credenciales, fallo seguro y verificación.

Índice
Sandbox local de GitHub Copilot App: configuración y pruebas

Has activado el sandbox, pero la sesión que ya estaba abierta conserva los permisos anteriores, o el agente pide acceso una y otra vez para instalar dependencias, conectarse a un servidor local o enviar una rama. El problema suele estar en cómo se combinan el valor predeterminado del proyecto, la anulación de la sesión y los controles separados de archivos, red y credenciales.

Al terminar esta guía podrás elegir una política inicial para un repositorio local o un working tree, aplicar los cambios a la sesión correcta y comprobar los límites con datos ficticios. La ruta más corta es: confirmar el tipo de sesión → activar Sandbox new sessions → limitar las tres áreas → iniciar o reiniciar la sesión → ejecutar pruebas seguras.

GitHub anunció esta función el 23 de septiembre de 2026 y sigue en vista previa pública, por lo que la interfaz y el comportamiento pueden cambiar. Recuerda tres límites: el sandbox local viene desactivado, la política se configura por proyecto y, si el host no puede imponerla, el shell aislado falla en vez de ejecutar el comando sin protección de forma silenciosa.

Primero confirma que tu sesión está cubierta

Esta política del proyecto solo se aplica a sesiones de repositorio local y working tree local. Los sandboxes en la nube, hosts remotos y GitHub Copilot CLI siguen otros mecanismos, así que comprueba el alcance antes de cambiar ajustes que tu sesión objetivo no leerá.

Tipo de sesión¿Se aplica?Límite que debes recordar
Sesión de repositorio localSíUsa la configuración de sandbox del proyecto actual
Sesión local de working treeSíUn working tree separa ramas y archivos, pero no restringe el acceso a otras ubicaciones del equipo; el sandbox añade esa frontera
Sesión de sandbox en la nubeNoUtiliza su propio aislamiento en la nube
Sesión ejecutada en un host remotoNoLa política local del proyecto no se aplica al host remoto
GitHub Copilot CLISe configura aparteLos ajustes de Copilot app y Copilot CLI no se sustituyen entre sí

Las políticas administradas por la empresa pueden hacer que la política efectiva sea más restrictiva que la solicitada en el proyecto. Por eso, la página del proyecto describe lo que la aplicación pide, no necesariamente el acceso máximo que permitirá la organización.

Cómo activar el sandbox para sesiones nuevas

Para que las próximas sesiones locales usen la política del proyecto, activa Sandbox new sessions y crea una sesión nueva; cambiar el interruptor no actualiza una sesión que ya está abierta. Sigue estos pasos:

  1. Abre la configuración de GitHub Copilot app.
  2. Selecciona el proyecto que quieres configurar.
  3. Busca la sección Sandbox.
  4. Activa Sandbox new sessions.
  5. Inicia una nueva sesión local.

El interruptor solo afecta a las sesiones creadas después. No modifica una sesión que ya está en ejecución. Los cambios posteriores en archivos, red o credenciales también se aplican únicamente a sesiones nuevas o tras reiniciar una sesión.

Para conservar el historial de la conversación y volver a cargar la política, introduce /restart-session en la sesión existente.

GitHub recomienda comenzar con la política predeterminada en la mayoría de los proyectos. Permite tareas comunes como instalar dependencias, conectarse a un servidor de desarrollo local, enviar una rama y crear un pull request. Endurece la política cuando el proyecto esté junto a carpetas sensibles, no necesite red o no deba usar tus credenciales.

Cómo limitar por separado archivos, red y credenciales

Son tres controles independientes: restringir archivos no desactiva credenciales, y quitar credenciales no protege un directorio sensible que todavía se puede leer. Endurece cada área según la tarea en lugar de apagarlo todo de una vez.

1. Sistema de archivos: qué se puede leer y modificar

Empieza con el alcance mínimo: conserva lectura y escritura en el workspace y añade otras rutas solo cuando la tarea realmente las necesite. Por defecto, una sesión aislada puede leer y escribir en su workspace y directorio actual; la configuración añade tres listas:

  • Additional read/write: carpetas adicionales que las herramientas del agente pueden leer y modificar.
  • Additional read-only: carpetas adicionales que pueden leer, pero no modificar.
  • Denied: carpetas a las que no pueden acceder.

Una carpeta más específica incluida en Denied sigue prohibida aunque una carpeta superior más amplia tenga acceso de lectura o escritura. Es preferible conceder la ruta mínima necesaria en lugar de abrir todo el directorio personal y depender de muchas excepciones.

En Windows hay un límite de aplicación importante. Puedes guardar una ruta denegada, pero si las capacidades activas del sandbox de Windows no pueden garantizar la prohibición, el comando falla con un mensaje de tipo unsupported-policy. No continúa con la ruta expuesta ni desactiva el sandbox automáticamente.

2. Red: separa internet de la red local

Si la tarea instala dependencias o usa un servidor de desarrollo local, no cierres automáticamente las dos vías; decide por separado si necesita internet saliente y red local. Por defecto, la sesión puede alcanzar ambas y puedes controlar:

  • Outbound internet: acceso a GitHub, registros de paquetes y otros servicios de internet.
  • Local network: conexiones loopback y de red local, incluidos servidores de desarrollo locales.

Las restricciones pueden afectar a la instalación de dependencias, llamadas API, servidores de vista previa y cualquier herramienta que necesite conexión. Trátalas como una decisión funcional, no como un interruptor de seguridad sin coste.

Linux tiene una limitación concreta: el sandbox no puede controlar de forma independiente el acceso a la red local de procesos generados, como comandos de shell y servidores MCP o LSP locales. El ajuste sí se aplica a operaciones dentro del proceso, como solicitudes web y conexiones MCP remotas. En Linux, verifica ambos caminos en lugar de probar solo uno.

3. Credenciales: controla Git y GitHub CLI por separado

Para revisar código o hacer análisis sin conexión, desactiva primero las credenciales de Git y GitHub CLI; actívalas solo si debes enviar una rama o crear un pull request. Por defecto, las operaciones autenticadas están disponibles y puedes desactivar:

  • Git credentials: operaciones Git HTTPS autenticadas.
  • GitHub CLI credentials: autenticación utilizada por GitHub CLI.

Al desactivarlas, acciones como enviar una rama o crear un pull request pueden dejar de funcionar dentro del sandbox. La política de archivos y la de credenciales son fronteras diferentes: aunque desactives credenciales, protege con reglas de archivos los directorios que contienen claves, configuración u otros datos sensibles.

Cuándo cambiar el proyecto, la sesión actual o una sola operación

Cambia el proyecto cuando las sesiones futuras deban heredar la regla; usa /sandbox on o /sandbox off para la sesión actual; tras editar la política del proyecto, ejecuta /restart-session si la sesión activa debe recargarla.

AcciónCuándo entra en vigorEfecto sobre otras sesiones
Cambiar los ajustes Sandbox del proyectoEn sesiones nuevas o reiniciadasModifica el valor predeterminado heredado por sesiones posteriores del proyecto
Introducir /sandbox on en una sesión local activaDe inmediato, como anulación persistente de esa sesiónNo cambia el valor del proyecto para otras sesiones
Introducir /sandbox off en una sesión local activaDesactiva de inmediato el sandbox de esa sesiónNo cambia otras sesiones; los comandos obtienen el mismo acceso a archivos, red y credenciales que tu cuenta de usuario
Introducir /sandbox on o /sandbox off antes de iniciar una sesiónCambia el valor del proyecto que heredarán las sesiones nuevasAfecta a las sesiones iniciadas después con ese valor
Introducir /restart-sessionReinicia la sesión actual, conserva el historial y recarga la políticaNo edita por sí mismo la política del proyecto

Si una herramienta necesita acceso no permitido, la aplicación puede mostrar Run outside the sandbox?. Según la política efectiva, puedes cancelar, ejecutar esa operación una vez fuera del sandbox o desactivarlo durante el resto de la sesión. Un propietario de empresa puede impedir que los usuarios ejecuten herramientas fuera del sandbox.

Desactivarlo desde este aviso no reescribe el valor del proyecto ni la anulación existente de la sesión. El estado temporal termina cuando la sesión se reinicia o se vuelve a adjuntar. Tras aparecer Sandbox off for this session, Re-enable sandbox lo activa de nuevo.

El orden más seguro es cancelar primero y entender por qué el comando necesita más acceso. Si la necesidad es recurrente, ajusta de forma precisa la política y reinicia. Ejecuta una operación una sola vez fuera del sandbox únicamente tras revisar el comando, sus argumentos y su impacto. En un repositorio desconocido o con un comando construido dinámicamente desde un Prompt, evita desactivar todo el sandbox por comodidad.

Si el host no puede imponer la política, el comando se detiene

Si el sistema operativo no puede hacer cumplir una regla, el resultado seguro es que el comando falle, no que continúe automáticamente sin sandbox.

GitHub Copilot app acepta la configuración antes de saber si el sistema operativo puede aplicar todas las reglas. La compatibilidad se comprueba cuando se inicia el primer shell dentro del sandbox.

Si el host no puede aplicar la política solicitada:

  • El shell muestra unsupported-platform o unsupported-policy.
  • El comando no continúa sin sandbox.
  • Si la aplicación muestra Sandbox unavailable, corrige el problema indicado y selecciona Retry sandbox.

Es un comportamiento fail-closed, no una ejecución de mejor esfuerzo. Guardar los ajustes correctamente no demuestra que la política esté activa en el equipo. Inicia al menos un shell aislado, confirma que no aparece un mensaje de incompatibilidad y realiza una verificación mínima.

Cómo verificar la política con datos ficticios

GitHub describe el comportamiento que debería imponer la política, pero solo una prueba en tu equipo confirma que funciona con ese sistema operativo y esa combinación de reglas. El procedimiento usa carpetas desechables y archivos ficticios, sin tocar claves reales ni configuración de producción.

Crea carpetas de prueba desechables fuera del workspace y coloca solo archivos ficticios. No utilices claves SSH reales, credenciales de nube ni configuración de producción.

ComprobaciónProcedimiento seguroComportamiento esperado
Herencia de una sesión nuevaActiva Sandbox new sessions y crea una sesión local nuevaLa nueva sesión usa la política; una antigua no cambia automáticamente
Aplicación de un cambioCambia una regla e introduce /restart-sessionLa sesión se reinicia, conserva el historial y recarga la política
Carpeta de solo lecturaAñade una carpeta desechable a Additional read-only, lee un archivo ficticio e intenta crear otroLa lectura debe funcionar y la modificación debe bloquearse
Carpeta denegadaAñade otra carpeta desechable a Denied e intenta listar o leer un archivo ficticioEl acceso debe bloquearse aunque una ruta superior esté permitida
InternetDesactiva Outbound internet y realiza una comprobación de conexión sin efectosLa conexión externa debe fallar; vuelve a activarla y compara
Red localDesactiva Local network y conecta con un servicio local desechableEl acceso debe seguir las capacidades de la plataforma; considera el límite de procesos generados en Linux
Credenciales GitDesactiva Git credentials y ejecuta una comprobación autenticada que no modifique un repositorio de pruebaLas operaciones HTTPS autenticadas pueden no estar disponibles
Credenciales de GitHub CLIDesactiva GitHub CLI credentials y ejecuta una comprobación no modificadora como gh auth statusGitHub CLI no debería recibir la capacidad de autenticación anterior; el error exacto puede variar
Fail-closedSi aparece unsupported-platform o unsupported-policy, comprueba que no se creó el archivo ficticio de destinoEl comando no debe continuar sin sandbox ni producir el efecto previsto

Elimina las carpetas al terminar y restaura únicamente los permisos mínimos que necesita el proyecto. No demuestres una regla de denegación intentando abrir un directorio realmente sensible.

Qué política inicial conviene en cada escenario

El desarrollo diario, un repositorio desconocido y el análisis sin conexión no deberían compartir la misma política. Conserva lo necesario para el trabajo normal, empieza más estricto con código desconocido y desactiva primero red y credenciales en tareas offline.

Desarrollo cotidiano

Activa el sandbox, conserva las capacidades de red y credenciales predeterminadas, añade solo las carpetas externas necesarias y deniega explícitamente los directorios sensibles cercanos. Es adecuado para instalar dependencias, ejecutar servicios locales, enviar ramas y abrir pull requests.

Revisión de un repositorio desconocido

Concede lectura y escritura solo al workspace, monta material de referencia adicional como solo lectura, desactiva de forma predeterminada las credenciales de Git y GitHub CLI y mantén internet apagado hasta entender el origen de las dependencias. Si necesitas acceso temporal, abre una capacidad concreta en lugar de usar inmediatamente /sandbox off.

Análisis local sin conexión

Desactiva internet y las credenciales innecesarias, manteniendo solo el acceso imprescindible a archivos. Si también importa aislar la red local, verifica por separado los procesos generados en Linux; no supongas que un único interruptor controla todos los procesos de forma idéntica.

No son perfiles con nombre oficial de GitHub. Son puntos de partida construidos a partir de las dimensiones de permiso disponibles. Ajusta la política final al repositorio, sistema operativo, reglas empresariales y tarea real.

Errores que dejan la política sin efecto o demasiado abierta

Los errores más comunes son confundir “ajustes guardados” con “política aplicada” y desactivar todo el sandbox tras la primera denegación. Los siete casos siguientes falsean la prueba o conceden más acceso del necesario.

  1. Tratar un working tree como frontera de seguridad. Separa ramas y archivos concurrentes, pero no impide acceder a otras ubicaciones del equipo.
  2. Cambiar la política y seguir probando una sesión antigua. Los cambios no son retroactivos; crea otra sesión o usa /restart-session.
  3. Suponer que la app y la CLI comparten sandbox. Se configuran por separado.
  4. Tomar un guardado correcto como prueba de compatibilidad. La comprobación llega al iniciar el primer shell aislado.
  5. Olvidar qué implica /sandbox off. Los comandos reciben el alcance de acceso de tu cuenta de usuario.
  6. Suponer que la red se comporta igual en cada plataforma. Linux tiene una limitación documentada para la red local de procesos generados.
  7. Usar un bypass amplio ante cualquier denegación. Suele ser más seguro confirmar la necesidad, hacer el ajuste mínimo y reiniciar.

Qué hacer ahora

Primero confirma que usas una sesión de repositorio local o working tree local y activa Sandbox new sessions. Para desarrollo diario, parte de la política predeterminada y conserva solo los directorios, conexiones y credenciales que necesita la tarea; para código desconocido o análisis offline, empieza con el perfil más estricto y abre una capacidad cada vez.

Después de cambiar la política del proyecto, crea otra sesión o ejecuta /restart-session, y verifica con datos desechables los límites de solo lectura, denegación, red y credenciales. Si aparece unsupported-platform, unsupported-policy o Sandbox unavailable, resuelve la incompatibilidad en vez de usar /sandbox off y confundir un resultado sin aislamiento con una prueba correcta.

Referencias oficiales

Consulta estas páginas de GitHub antes y después de configurar para comprobar la interfaz, el alcance y el comportamiento de fallo actuales.

¿Quieres optimizar tu flujo de trabajo con LLM?

Conecta modelos mediante una API, gestiona claves y controla el gasto en IA.

Empezar gratis