Entorno aislado de Windows
Entorno aislado de Windows
Configura y soluciona problemas del entorno aislado nativo de Codex en Windows
Usa Codex en Windows con la aplicación de escritorio de ChatGPT, la CLI o la extensión de IDE.
La aplicación de escritorio de ChatGPT para Windows admite flujos de trabajo esenciales, como chats paralelos, árboles de trabajo, tareas programadas, funcionalidad de Git, el navegador integrado, vistas previas de archivos, plugins y skills.
La aplicación puede ejecutarse de forma nativa en PowerShell con un entorno aislado de Windows en lugar de requerir WSL o una máquina virtual. Esto mantiene a Codex en flujos de trabajo nativos de Windows al tiempo que impone permisos limitados del sistema de archivos y de red.
Para la instalación en empresas, consulta la Guía de implementación en Windows.
Codex admite tres implementaciones de entorno aislado en Windows:
mxc: El entorno aislado recomendado en dispositivos Windows compatibles. Utiliza aislamiento nativo de procesos sin configuración aprobada por un administrador, cuentas adicionales de Windows ni reglas locales de firewall.elevated: La alternativa heredada preferida cuando MXC no está disponible o está deshabilitado. Requiere una configuración aprobada por un administrador. Los comandos del entorno aislado se ejecutan sin privilegios de administrador.unelevated: Una alternativa heredada cuando la configuración con privilegios elevados no está disponible y la política de la organización lo permite. Ofrece un aislamiento de red más débil queelevatedy no admite rutas con lectura denegada.
Configurar el entorno aislado de Windows
El entorno aislado de Windows aplica los permisos activos del sistema de archivos y de red a los comandos y sus procesos secundarios. El perfil de permisos determina qué rutas permiten lectura o escritura y si se permite el acceso a la red. La política de aprobación controla por separado cuándo Codex solicita ejecutar comandos con más acceso. Consulta entorno aislado y aprobaciones.
Activa MXC
La aplicación de escritorio da preferencia automáticamente a MXC para las cuentas de consumidores cuando el dispositivo lo admite. Para implementaciones empresariales o el uso independiente de la CLI, puedes activar el mismo comportamiento con la siguiente configuración.
En config.toml:
[features]
prefer_mxc = trueCon prefer_mxc = true, Codex utiliza MXC para los comandos de Windows cuando el dispositivo y la política lo permiten.
De lo contrario, utiliza el flujo existente de selección y configuración de implementaciones heredadas.
En las empresas donde la compatibilidad de los dispositivos o la política varía, mantén windows.sandbox establecido en la implementación heredada permitida por tu organización, elevated o unelevated, como alternativa.
Los administradores pueden distribuir esta configuración como predeterminada o imponer
features.prefer_mxc = true mediante requirements.toml. Ambas opciones permiten recurrir a una alternativa
heredada. Consulta configuración administrada
para conocer las diferencias entre los valores predeterminados y los requisitos.
Mantén MXC desactivado
Para impedir el uso de MXC en tu organización, añade lo siguiente a tu archivo administrado
requirements.toml:
[windows]
allow_mxc = falseEsto bloquea tanto la selección automática de MXC como la selección explícita de windows.sandbox = "mxc". La configuración y los requisitos existentes de los entornos aislados heredados siguen siendo aplicables.
Compatibilidad de MXC
El equipo anfitrión ya debe disponer de las capacidades necesarias de Microsoft Execution Containers (MXC), que Microsoft está distribuyendo a los dispositivos con Windows 11. Microsoft introdujo el aislamiento de procesos de MXC en Windows 11 24H2 (compilación 26100.9278) y 25H2 (compilación 26200.9278). Usa el siguiente comando para verificar la compatibilidad de tu dispositivo con MXC.
En Codex CLI 0.162.0 y versiones posteriores, puedes probar MXC para un solo comando sin cambiar la selección guardada del entorno aislado. Desde el directorio de tu proyecto, ejecuta:
codex -c windows.sandbox=mxc sandbox --include-managed-config --permission-profile :workspace -- cmd.exe /d /c echo MXC_OK
$LASTEXITCODELa salida esperada es MXC_OK y el código de salida es 0. Esto comprueba el inicio del comando con el perfil de permisos del espacio de trabajo y los requisitos administrados.
La selección explícita de windows.sandbox = "mxc" falla si las capacidades nativas necesarias no están disponibles o si la política bloquea MXC.
Ten en cuenta estas limitaciones de compatibilidad:
- La gestión de red requiere que
allow_local_binding = trueesté en vigor. MXC permite conexiones hacia y desde servicios en la interfaz de bucle local del host. Las reglas de dominio del proxy siguen aplicándose al tráfico que pasa por él, pero se eliminan las comprobaciones adicionales del proxy sobre destinos en redes privadas. - Los procesos secundarios que sigan en ejecución se detienen cuando finaliza el comando en primer plano. Prueba los flujos de trabajo que dependan de servidores de desarrollo desvinculados.
- Los patrones glob de denegación de lectura usan los archivos que coinciden cuando se inicia cada proceso en el entorno aislado, al igual que en Linux y WSL. Los archivos coincidentes creados después siguen siendo legibles para ese proceso en ejecución si sus demás permisos permiten el acceso. Los shells, scripts, procesos de vigilancia y servidores de desarrollo de larga duración conservan esa instantánea durante toda su ejecución, no durante toda la sesión de Codex. Consulta cuándo se evalúan los patrones glob de denegación de lectura.
Configurar una alternativa heredada
Selecciona la implementación alternativa en config.toml:
[windows]
sandbox = "elevated" # or "unelevated"elevated es la alternativa heredada preferida. Usa usuarios dedicados
del entorno aislado con privilegios reducidos, límites de permisos del sistema de archivos, reglas de firewall
y cambios en la política local necesarios para los comandos que se ejecutan en el entorno aislado.
Al igual que MXC, elevated enumera las coincidencias de los patrones glob de denegación de lectura cuando se inicia cada proceso en el entorno aislado. Los archivos coincidentes creados después siguen siendo legibles para ese proceso en ejecución si sus demás permisos permiten el acceso. Consulta cuándo se evalúan los patrones glob de denegación de lectura para conocer las consecuencias para los procesos de larga duración.
unelevated es una alternativa heredada. Ejecuta comandos con un
token de Windows restringido derivado de tu usuario actual, aplica límites del sistema de archivos
basados en ACL y usa controles de desconexión a nivel de entorno en lugar de
la regla de firewall dedicada al usuario sin conexión. Ofrece un aislamiento de red más débil
que elevated y no admite rutas con lectura denegada, pero sigue siendo útil cuando
la política local o empresarial bloquea la configuración aprobada por un administrador.
Usa MXC cuando el dispositivo y la política lo permitan. De lo contrario, da preferencia a elevated, con unelevated como alternativa secundaria.
Los administradores empresariales pueden restringir las implementaciones heredadas de entornos aislados
que Codex puede usar mediante requirements.toml:
[windows]
allowed_sandbox_implementations = ["elevated"]Este ejemplo permite elevated e impide recurrir a unelevated como alternativa. No restringe mxc cuando MXC está disponible. Los demás requisitos administrados de permisos y red siguen siendo aplicables. Para permitir cualquiera de las dos implementaciones heredadas, incluye ambos valores; Codex da preferencia a elevated cuando no se selecciona ningún modo.
Consulta la referencia de requirements.toml para conocer los valores admitidos. Para bloquear también MXC, usa el requisito windows.allow_mxc independiente.
De forma predeterminada, ambos modos de entorno aislado heredados también usan un escritorio privado para reforzar el aislamiento de la interfaz de usuario.
Aprovisionamiento del entorno aislado heredado con privilegios elevados a cargo de TI
Para los empleados sin derechos de administrador local, TI puede instalar la CLI y aprovisionar el entorno aislado con privilegios elevados antes de que el empleado inicie Codex. Desde un proceso de implementación con privilegios elevados, ejecuta:
codex sandbox setup --elevated --user 'DOMAIN\alice' --codex-home 'C:\Users\alice\.codex'Sustituye la identidad y la ruta por la identidad de Windows del empleado y CODEX_HOME. El comando lee la configuración de ese usuario, prepara el entorno aislado y guarda windows.sandbox = "elevated". Después, el empleado ejecuta Codex desde una terminal normal.
Permisos del entorno aislado
Matriz de versiones de Windows
| Versión de Windows | Nivel de compatibilidad | Notas |
|---|---|---|
| Windows 11 | Recomendada | La mejor base para Codex en Windows. Úsala si estás estandarizando una implementación empresarial. |
| Windows 10 reciente y totalmente actualizado | Soporte de mejor esfuerzo | Puede funcionar, pero es menos fiable que Windows 11. En Windows 10, Codex depende de la compatibilidad con consolas modernas, incluido ConPTY. En la práctica, se requiere Windows 10 versión 1809 o posterior. |
| Compilaciones anteriores de Windows 10 | No recomendadas | Es más probable que no incluyan componentes de consola necesarios, como ConPTY, y que fallen en entornos empresariales. |
Suposiciones adicionales sobre el entorno:
wingetdebe estar disponible. Si falta, actualiza Windows o instala Windows Package Manager antes de configurar Codex.- El entorno aislado heredado
elevateddepende de una configuración aprobada por un administrador. - Algunos dispositivos administrados por empresas bloquean los pasos de configuración necesarios incluso cuando la versión del sistema operativo es aceptable.
- MXC requiere además las capacidades nativas descritas en Compatibilidad de MXC; esta matriz no garantiza la disponibilidad de MXC en un dispositivo concreto.
Comprobar el acceso de lectura del entorno aislado
Cuando un comando no pueda leer un directorio, comprueba el perfil de permisos activo,
los requisitos administrados y los permisos de archivos de Windows. En la CLI, usa /status
y /debug-config para inspeccionar la sesión y la configuración activas. Pide a tu
administrador que revise la restricción administrada en lugar de deshabilitar el entorno aislado.
Usa el entorno aislado nativo de Windows de forma predeterminada. Elige WSL cuando necesites herramientas nativas de Linux, tu flujo de trabajo ya esté en WSL2 o las implementaciones nativas de Windows disponibles no satisfagan tus necesidades.
Solución de problemas y preguntas frecuentes
Si estás solucionando problemas en un equipo Windows administrado, empieza por el modo de entorno aislado nativo, la versión de Windows y cualquier error de directiva que muestre Codex. Para MXC, comprueba la compatibilidad y la directiva de red efectiva. Los problemas del entorno aislado heredado pueden deberse a la configuración, los derechos de inicio de sesión o los permisos del sistema de archivos.
La configuración de mi entorno aislado heredado falló
Si Codex no puede completar la configuración del entorno aislado elevated, las causas más comunes
son:
- se rechazó la solicitud de UAC o de administrador de Windows,
- el equipo no permite crear usuarios o grupos locales,
- el equipo no permite cambiar las reglas del firewall,
- el equipo bloquea los derechos de inicio de sesión que necesitan los usuarios del entorno aislado,
- u otra política empresarial bloquea parte del flujo de configuración.
Qué puedes intentar:
- Vuelve a intentar la configuración del entorno aislado
elevatedy aprueba la solicitud de permisos de administrador si tu entorno lo permite. - Si tu portátil de empresa bloquea esta operación, pregunta a tu equipo de TI si el equipo permite configurar, con aprobación de un administrador, la creación de usuarios y grupos locales, el firewall y los derechos de inicio de sesión necesarios para el usuario del entorno aislado.
- Si la configuración sigue fallando y la directiva administrada lo permite, usa
unelevatedmientras se investiga el problema.
Codex me cambió al entorno aislado sin elevación
La implementación unelevated puede seleccionarse en la configuración o usarse como
alternativa cuando la configuración de elevated no esté disponible.
- Codex aún puede ejecutarse en un modo aislado.
- Sigue aplicando límites del sistema de archivos basados en ACL, pero no usa el
límite de usuario separado del entorno aislado de
elevatedy ofrece un aislamiento de red más débil. - Es una alternativa útil, pero no la configuración empresarial preferida a largo plazo.
En un portátil de empresa administrado, comprueba la compatibilidad con MXC
primero. Si MXC no está disponible o está desactivado, pide a tu equipo de TI que configure
elevated.
Veo el error 1385 de Windows
Si los comandos del entorno aislado fallan con el error 1385, Windows está rechazando el tipo de inicio de sesión
que el usuario del entorno aislado necesita para iniciar el comando.
En la práctica, esto suele significar que Codex creó correctamente los usuarios del entorno aislado, pero una política de Windows aún impide que esos usuarios inicien comandos en el entorno aislado.
Qué debes hacer:
- Pregunta a tu equipo de TI si la política del dispositivo concede los derechos de inicio de sesión necesarios a los usuarios del entorno aislado creados por Codex.
- Compara las diferencias de las políticas de grupo o de las unidades organizativas (OU) si el problema solo afecta a algunos equipos o grupos.
- Si necesitas seguir trabajando de inmediato, usa el entorno aislado
unelevatedmientras se investiga el problema de la política. - Envía
CODEX_HOME/.sandbox/sandbox.logjunto con tu versión de Windows y una breve descripción del fallo.
Codex advierte que algunas carpetas permiten la escritura de Everyone
Codex puede advertir que algunas carpetas permiten la escritura de Everyone.
Si ves esta advertencia, los permisos de Windows de esas carpetas son demasiado amplios para que el entorno aislado pueda protegerlas por completo.
Qué debes hacer:
- Revisa las carpetas que Codex enumera en la advertencia.
- Quita el acceso de escritura de
Everyonede esas carpetas si es apropiado en tu entorno. - Reinicia Codex o vuelve a ejecutar la configuración del entorno aislado después de corregir esos permisos.
Si no sabes con certeza cómo cambiar esos permisos, pide ayuda a tu equipo de TI.
Los comandos del entorno aislado no pueden acceder a la red
Algunos chats de Codex se ejecutan intencionalmente sin acceso saliente a la red, según el modo de permisos utilizado.
Si una tarea falla porque no puede acceder a la red:
- Comprueba si la tarea debía ejecutarse con la red deshabilitada.
- Si esperabas tener acceso a la red, reinicia Codex y vuelve a intentarlo.
- Si el problema persiste, recopila el registro del entorno aislado para que el equipo pueda comprobar si el equipo se encuentra en un estado parcial o defectuoso del entorno aislado.
El entorno aislado funcionaba antes y dejó de funcionar
Esto puede ocurrir después de:
- mover un repositorio o espacio de trabajo,
- cambiar los permisos del equipo,
- cambiar las políticas de Windows,
- u otros cambios en la configuración del sistema.
Qué puedes intentar:
- Reinicia Codex.
- Para MXC, repite la prueba de compatibilidad y comprueba la
política de red efectiva. Para la implementación heredada
elevated, intenta configurar de nuevo el entorno aislado. - Si necesitas un entorno aislado heredado y la política administrada lo permite, usa
unelevatedcomo alternativa temporal. - Recopila el registro del entorno aislado para su revisión.
Necesito enviar diagnósticos a OpenAI
Si aún tienes problemas, envía:
CODEX_HOME/.sandbox/sandbox.log
También resulta útil incluir:
- una breve descripción de lo que intentabas hacer,
- la implementación seleccionada:
mxc,elevatedounelevated, - cualquier mensaje de error que aparezca en la aplicación,
- si viste
1385u otro error de Windows o PowerShell, - el número de compilación de Windows,
- y si usas Windows 11 o Windows 10.
No envíes:
- el contenido de
CODEX_HOME/.sandbox-secrets/
La extensión de IDE está instalada, pero no responde
Es posible que a tu sistema le falten herramientas de desarrollo de C++, necesarias para algunas dependencias nativas:
- Visual Studio Build Tools (carga de trabajo de C++)
- Microsoft Visual C++ Redistributable (x64)
- Con
winget, ejecutawinget install --id Microsoft.VisualStudio.2022.BuildTools -e
Después de la instalación, reinicia VS Code por completo.