For the complete documentation index, see llms.txt. Markdown versions of documentation pages are available by appending .md to the page URL.
Navegação principal
Theme

Sandbox do Windows

Configure o sandbox nativo do Codex no Windows e resolva problemas de funcionamento

Use o Codex no Windows com o aplicativo nativo de desktop do ChatGPT, a CLI ou a extensão para IDE.

O aplicativo de desktop do ChatGPT no Windows oferece recursos para os principais fluxos de trabalho, como chats em paralelo, árvores de trabalho, tarefas agendadas, recursos do Git, navegador integrado, prévias de arquivos, plug-ins e habilidades.

O aplicativo pode ser executado diretamente no PowerShell com um sandbox do Windows, sem precisar do WSL ou de uma máquina virtual. Assim, você pode usar o Codex em fluxos de trabalho nativos do Windows, com limites de acesso ao sistema de arquivos e à rede.

Para instalações corporativas, consulte o Guia de implantação no Windows.

O Codex oferece três implementações de sandbox no Windows:

  • mxc: sandbox recomendado para dispositivos Windows compatíveis. Usa isolamento nativo de processos e dispensa a configuração com aprovação do administrador, a criação de contas adicionais do Windows e o uso de regras de firewall locais.
  • elevated: alternativa legada preferencial quando o MXC está indisponível ou desativado. A configuração exige aprovação do administrador. Os comandos no sandbox são executados sem privilégios de administrador.
  • unelevated: alternativa legada para quando não é possível configurar o sandbox com privilégios elevados e a política da organização permite seu uso. Oferece isolamento de rede mais fraco que elevated e não permite bloquear a leitura de caminhos específicos.

Configurar o sandbox do Windows

O sandbox do Windows aplica as permissões vigentes de sistema de arquivos e de rede aos comandos e aos seus processos filhos. O perfil de permissões determina quais caminhos permitem leitura ou gravação e se o acesso à rede é permitido. A política de aprovação controla, de forma independente, quando o Codex solicita permissão para executar comandos com acesso mais amplo. Consulte Sandbox e aprovações.

Ativar o MXC

Para contas de uso pessoal, o aplicativo de desktop dá preferência automaticamente ao MXC quando o dispositivo é compatível. Para implantações corporativas ou uso independente da CLI, você pode ativar esse mesmo comportamento com a configuração abaixo.

Em config.toml:

[features]
prefer_mxc = true

Com prefer_mxc = true, o Codex usa o MXC para comandos do Windows quando o dispositivo é compatível e a política permite seu uso. Caso contrário, o Codex segue o fluxo existente de seleção e configuração do sandbox legado.

Em empresas onde a compatibilidade ou a política varia entre dispositivos, mantenha windows.sandbox configurado para usar a implementação legada permitida pela organização, elevated ou unelevated, como alternativa.

Os administradores podem distribuir essa configuração como padrão ou tornar features.prefer_mxc = true obrigatório por meio de requirements.toml. Nos dois casos, o Codex pode recorrer a uma implementação legada. Consulte Configuração gerenciada para entender a diferença entre valores padrão e requisitos.

Manter o MXC desativado

Para impedir o uso do MXC na organização, adicione o seguinte ao arquivo requirements.toml gerenciado:

[windows]
allow_mxc = false

Isso bloqueia tanto a seleção automática do MXC quanto a seleção explícita com windows.sandbox = "mxc". As configurações e os requisitos existentes para sandboxes legados continuam em vigor.

Compatibilidade com o MXC

O host já deve ter os recursos necessários do Microsoft Execution Containers (MXC), que a Microsoft está disponibilizando gradualmente para dispositivos com Windows 11. A Microsoft introduziu o isolamento de processos com MXC no Windows 11 24H2 (build 26100.9278) e na versão 25H2 (build 26200.9278). Use o comando abaixo para verificar se o seu dispositivo oferece suporte ao MXC.

A partir da versão 0.162.0 da CLI do Codex, você pode testar o MXC com um único comando sem alterar a seleção de sandbox salva. No diretório do projeto, execute:

codex -c windows.sandbox=mxc sandbox --include-managed-config --permission-profile :workspace -- cmd.exe /d /c echo MXC_OK
$LASTEXITCODE

A saída esperada é MXC_OK, com código de saída 0. Esse teste verifica se o comando inicia com o perfil de permissões do espaço de trabalho e os requisitos gerenciados.

A seleção explícita com windows.sandbox = "mxc" falha se os recursos nativos necessários estiverem indisponíveis ou se a política bloquear o MXC.

Observe os seguintes limites de compatibilidade:

  • O gerenciamento de rede exige que allow_local_binding = true esteja em vigor. O MXC permite conexões nos dois sentidos com serviços na interface de loopback do host. As regras de domínio do proxy continuam valendo para o tráfego que passa por ele, mas o proxy deixa de fazer as verificações adicionais de destinos em redes privadas.
  • Os processos filhos que ainda estiverem em execução serão encerrados quando o comando em primeiro plano terminar. Teste os fluxos de trabalho que dependem de servidores de desenvolvimento desvinculados do processo que os iniciou.
  • Assim como no Linux e no WSL, os padrões glob de bloqueio de leitura se aplicam aos arquivos que correspondem a eles no momento em que cada processo inicia no sandbox. Se outros arquivos que correspondem aos padrões forem criados depois, o processo em execução ainda poderá lê-los caso suas demais permissões permitam o acesso. Shells, scripts, monitores de arquivos e servidores de desenvolvimento de longa duração mantêm essa lista durante a própria execução. A lista não vale para toda a sessão do Codex. Consulte Quando os padrões glob de bloqueio de leitura são avaliados.

Configurar uma alternativa legada

Selecione a implementação alternativa em config.toml:

[windows]
sandbox = "elevated" # or "unelevated"

elevated é a alternativa legada preferencial. Essa implementação usa contas de usuário exclusivas do sandbox com privilégios reduzidos, limites de acesso ao sistema de arquivos, regras de firewall e as alterações de política local necessárias para executar comandos no sandbox.

Assim como o MXC, elevated lista os arquivos que correspondem aos padrões glob de bloqueio de leitura quando cada processo inicia no sandbox. Se outros arquivos que correspondem aos padrões forem criados depois, o processo em execução ainda poderá lê-los caso suas demais permissões permitam o acesso. Consulte Quando os padrões glob de bloqueio de leitura são avaliados para entender como isso afeta processos de longa duração.

unelevated é uma alternativa legada. Essa implementação executa comandos com um token restrito do Windows derivado da sua conta de usuário atual, limita o acesso ao sistema de arquivos com base em listas de controle de acesso (ACLs) e usa controles no nível do ambiente para impedir o acesso à rede, em vez da regra de firewall específica do usuário offline. Oferece isolamento de rede mais fraco que elevated e não permite bloquear a leitura de caminhos específicos, mas ainda é útil quando a política local ou corporativa impede a configuração com aprovação do administrador.

Use o MXC quando o dispositivo for compatível e a política permitir. Caso contrário, dê preferência a elevated, com unelevated como segunda alternativa.

Os administradores corporativos podem restringir as implementações legadas de sandbox que o Codex pode usar por meio do arquivo requirements.toml:

[windows]
allowed_sandbox_implementations = ["elevated"]

Esse exemplo permite elevated e impede que o Codex recorra a unelevated. Ele não restringe mxc quando o MXC está disponível. Os demais requisitos gerenciados de permissões e rede continuam em vigor. Para permitir qualquer uma das implementações legadas, inclua os dois valores. O Codex dá preferência a elevated quando nenhum modo é selecionado.

Consulte a referência de requirements.toml para ver os valores aceitos. Para bloquear também o MXC, use o requisito específico windows.allow_mxc.

Por padrão, os dois modos legados de sandbox também usam uma área de trabalho privada para reforçar o isolamento da interface.

Provisionamento do sandbox legado com privilégios elevados pela equipe de TI

Para funcionários sem direitos de administrador local, a equipe de TI pode instalar a CLI e provisionar o sandbox com privilégios elevados antes que o funcionário inicie o Codex. Em um processo de implantação com privilégios elevados, execute:

codex sandbox setup --elevated --user 'DOMAIN\alice' --codex-home 'C:\Users\alice\.codex'

Substitua a identidade e o caminho do exemplo pela identidade do funcionário no Windows e pelo caminho do CODEX_HOME dele, respectivamente. O comando lê a configuração desse usuário, provisiona o sandbox e salva windows.sandbox = "elevated". Em seguida, o funcionário executa o Codex em um terminal sem privilégios elevados.

Permissões do sandbox

No modo de acesso completo, o Codex pode atuar fora do diretório do projeto e executar ações destrutivas por engano, o que pode causar perda de dados. Para automatizar tarefas com mais segurança, mantenha os limites do sandbox e use regras para exceções específicas. Outra opção é definir a política de aprovação como nunca para que o Codex tente resolver os problemas sem solicitar permissões elevadas, de acordo com a sua configuração de aprovação e segurança.

Matriz de versões do Windows

Versão do Windows Nível de suporte Observações
Windows 11 Recomendado É a versão mais indicada para usar o Codex no Windows. Use essa versão ao padronizar uma implantação corporativa.
Windows 10 recente com todas as atualizações Suporte conforme possível Pode funcionar, mas é menos confiável que o Windows 11. No Windows 10, o Codex depende de recursos modernos de console, incluindo o ConPTY. Na prática, é necessária a versão 1809 ou posterior do Windows 10.
Builds antigas do Windows 10 Não recomendado Há maior probabilidade de faltarem componentes de console necessários, como o ConPTY, e de ocorrerem falhas em ambientes corporativos.

Considere também as seguintes condições do ambiente:

  • winget deve estar disponível. Se estiver ausente, atualize o Windows ou instale o Gerenciador de Pacotes do Windows antes de configurar o Codex.
  • A configuração do sandbox legado elevated exige aprovação do administrador.
  • Alguns dispositivos gerenciados pela empresa bloqueiam as etapas de configuração necessárias mesmo quando a versão do sistema operacional é compatível.
  • O MXC também exige os recursos nativos descritos em Compatibilidade com o MXC. A matriz, por si só, não indica se o MXC está disponível em um dispositivo específico.

Verificar o acesso de leitura no sandbox

Quando um comando não conseguir ler um diretório, verifique o perfil de permissões ativo, os requisitos gerenciados e as permissões de arquivo do Windows. Na CLI, use /status e /debug-config para inspecionar a sessão e a configuração ativas. Se houver uma restrição gerenciada, peça ao administrador que a revise em vez de desativar o sandbox.

Use o sandbox nativo do Windows por padrão. Opte pelo WSL quando precisar de ferramentas nativas do Linux, quando seu fluxo de trabalho já estiver no WSL2 ou quando as implementações nativas disponíveis no Windows não atenderem às suas necessidades.

Solução de problemas e perguntas frequentes

Se estiver diagnosticando um problema em um computador Windows gerenciado, comece verificando o modo de sandbox nativo, a versão do Windows e os erros de política que o Codex exibir. Para o MXC, verifique a compatibilidade e a política de rede em vigor. Problemas com sandboxes legados podem estar relacionados à configuração, aos direitos de logon ou às permissões do sistema de arquivos.