Um sandbox só é útil se ele realmente mantiver o agente dentro da cerca. O Claude Code 2.1.216 fecha diversas brechas que poderiam permitir que uma tarefa em segundo plano, um subagente ou uma sessão retomada vagasse para fora do diretório atribuído. Esta versão introduz uma nova chave de configuração, mas o trabalho mais importante está "sob o capô": um manuseio mais inteligente de Git worktrees, symlinks e reinicializações de agentes. Se você executa o Claude Code localmente ou em CI, essas mudanças merecem mais do que uma leitura rápida do changelog.

O Controle de Sistema de Arquivos que Você Não Deve Tratar com Leveza

A versão 2.1.216 adiciona sandbox.filesystem.disabled. Quando isso é definido, o Claude Code ignora seu próprio isolamento de sistema de arquivos, enquanto ainda impõe o sandbox de rede. À primeira vista, isso parece uma maneira de interromper erros de permissão ou acelerar operações de arquivos. Não é. Você só deve habilitar essa configuração se outra camada já estiver protegendo seu disco.

Isso significa um container descartável que é excluído após cada execução, ou uma máquina virtual dedicada sem acesso ao seu diretório home ou volumes de produção. Se você executa o Claude Code diretamente no macOS, Windows ou em um host Linux puro, mantenha o isolamento do sistema de arquivos ativado. O sandbox de rede não é um substituto para os controles de sistema de arquivos, e o pequeno atrito do acesso a arquivos em sandbox é muito mais barato do que se recuperar de uma sobreposição acidental ou de um prompt injection malicioso que escape da pasta do projeto.

Pense no controle como uma camada de compatibilidade, não como um ajuste de desempenho. Ele existe para ambientes onde o sistema operacional ou o orquestrador já lidam com o isolamento, e o próprio sandbox do Claude adicionaria uma complexidade desnecessária.

O que a Atualização Realmente Corrige

Além da nova configuração, a versão 2.1.216 fecha várias brechas práticas que poderiam permitir que um agente alcançasse locais onde não deveria.

Isolamento de worktree. Subagentes não podem mais redirecionar comandos Git para um diretório pai ou irmão fora de seu próprio worktree. Anteriormente, um subagente rodando dentro do seu projeto poderia direcionar operações Git para o seu checkout compartilhado ou repositórios adjacentes. Isso é importante porque muitos desenvolvedores mantêm múltiplos projetos sob uma pasta pai comum. Agora, esses comandos que cruzam fronteiras falham.

Reforço de symlinks no caminho .claude. Definições de workflow e tarefas agendadas costumavam seguir symlinks ao escrever configurações. Um invasor que pudesse criar um symlink de .claude para, por exemplo, o seu perfil de shell ou diretório SSH, poderia potencialmente fazer com que o agente escrevesse fora do projeto. A atualização impede isso ao recusar o seguimento de symlinks nesse caminho.

Rewinds mais seguros. O comando /rewind, que permite reverter alterações recentes, agora pula caminhos com symlinks e hard-links. Sem essa proteção, uma operação de rewind poderia seguir um symlink e sobrescrever um arquivo longe do seu repositório. O Claude agora reporta esses caminhos ignorados explicitamente para que você saiba que o limite foi mantido.

Agentes retomados mantêm suas restrições. Sessões em segundo plano que são interrompidas e retomadas posteriormente costumavam retornar às permissões padrão das ferramentas. Se você tivesse restringido intencionalmente um agente para que ele pudesse ler, mas não escrever, uma reinicialização poderia restaurar silenciosamente um acesso mais amplo. Agora, as restrições originais são persistidas e restauradas com a sessão.

Escolhendo um Perfil de Segurança

O Claude Code 2.1.216 organiza esses controles em três perfis. Escolha com base em onde você executa a ferramenta, não com base no que parece mais rápido.

Default. O sandboxing de sistema de arquivos e de rede permanecem ativos. Esta é a escolha certa para desenvolvimento local no seu laptop ou workstation. Ele protege seu diretório home, arquivos do sistema e projetos vizinhos sem exigir que você gerencie containers.

Compatibility. O isolamento do sistema de arquivos é desativado, mas o sandbox de rede permanece. Restrinja este perfil a containers descartáveis ou VMs onde o sistema de arquivos já é efêmero ou estritamente delimitado. Não o utilize apenas porque você está cansado de digitar senhas para permitir que o agente acesse uma pasta protegida.

Managed Hard Gate. Ambas as camadas de sandbox permanecem ativas, e o perfil espera políticas de container adicionais impostas pelo seu orquestrador ou equipe de segurança. Isso foi desenvolvido para pipelines de CI, ambientes de desenvolvimento remoto e configurações corporativas onde a defesa em profundidade é obrigatória.

Se não tiver certeza de qual se adequa, comece com o Default. Você só poderá reduzir a proteção posteriormente após verificar que seu ambiente de execução isola genuinamente o sistema de arquivos por conta própria.

Atualizando sem Quebrar seu Fluxo de Trabalho

Não trate isso como um patch de rotina que você instala em uma tarde de sexta-feira. O caminho de atualização na versão 2.1.216 é direto, mas as consequências de uma configuração incorreta não são.

Primeiro, atualize para a 2.1.216 por meio do seu gerenciador de pacotes ou instalador habitual. Em seguida, escolha um dos três perfis de isolamento antes de iniciar qualquer tarefa do agente. Não misture perfis entre sessões em execução sem entender qual deles tem precedência.

Em seguida, execute os cinco testes de limite não destrutivos descritos abaixo. São verificações rápidas e roteirizadas que comprovam que o sandbox se comporta da maneira prometida pelo perfil. Durante os testes, gere hashes sentinela para arquivos fora do seu repositório de teste descartável. Um hash sentinela é simplesmente um checksum de um arquivo ou diretório sensível que você deseja proteger. Após executar os testes, compare os hashes. Se algo tiver mudado, seu isolamento está com vazamento.

Compare seus logs também. O Claude Code escreve negações e eventos de sandbox em seus logs locais. Procure por rejeições explícitas quando um host bloqueado for acessado ou quando um subagente sair de seu worktree. Falhas silenciosas são piores do que as barulhentas, portanto, verifique se os logs mostram as proteções (guardrails) sendo acionadas.

Por fim, implemente a mudança gradualmente. Comece com um único projeto ou um branch de não-produção. Deixe a nova versão rodar por um ou dois dias antes de implantá-la em toda a sua equipe ou frota de CI.

Cinco testes de limite que comprovam que seu sandbox funciona

Sempre execute esses testes dentro de um repositório descartável repleto de dados falsos. Nunca os direcione para código de produção, credenciais reais ou infraestrutura ativa.

Limite de rede. Tente acessar dois endpoints: um que você permitiu explicitamente e outro que você bloqueou. Uma simples requisição HTTP para um serviço de teste público como o httpbin.org pode servir como o alvo permitido, enquanto uma requisição para um endpoint de metadados local ou um IP interno deve falhar. Se a requisição bloqueada for bem-sucedida, seu sandbox de rede está configurado incorretamente.

Isolamento de worktree. De dentro de um subagente, execute um comando Git direcionado ao diretório pai. Por exemplo, tente git -C .. status ou peça ao agente para descrever arquivos fora de seu checkout. Com a correção na 2.1.216, isso deve falhar. O subagente deve ver apenas seu próprio worktree.

Armadilha de symlink. Crie um symlink dentro do seu projeto que aponte para um diretório fora do repositório, como /tmp/sentinel-target. Em seguida, tente salvar uma tarefa ou workflow sob o caminho .claude que escreveria através desse link. Após o salvamento, verifique o diretório externo. Se ele ainda estiver vazio, o endurecimento (hardening) de symlink está funcionando.

Pulo de rewind. Configure uma pasta dentro do seu repo que contenha um symlink para um arquivo do sistema ou outro diretório. Execute /rewind nessa pasta. O Claude deve listar os caminhos com symlink ou hard-link ignorados em vez de persegui-los. Confirme que o alvo fora do repo permanece intacto.

Ressurreição de sessão. Inicie um agente em segundo plano com uma restrição rigorosa, como desabilitar ferramentas de escrita de arquivos. Pause ou interrompa a sessão e, em seguida, retome-a. Tente imediatamente fazer o agente escrever um arquivo. Se a restrição ainda estiver ativa, a correção para agentes retomados está funcionando. Se o agente subitamente tiver acesso total às ferramentas novamente, você ainda está exposto.

Palavra Final

O Claude Code 2.1.216 oferece mais flexibilidade do que as versões anteriores, mas essa flexibilidade vem com um mandato claro: verifique antes de confiar. O novo seletor (toggle) de sistema de arquivos não está lá para facilitar sua vida à custa da segurança. Ele está lá para engenheiros que já construíram uma base sólida sob a ferramenta. As melhorias reais neste lançamento são as proteções (guardrails) silenciosas que impedem subagentes de rastejar para diretórios pai, que se recusam a seguir symlinks durante gravações de configuração e que lembram as regras mesmo após uma longa pausa.

Execute os cinco testes. Verifique seus hashes sentinela. Leia os logs. Então, e somente então, deixe a nova versão lidar com o trabalho real.

Fonte: Claude Code v2.1.216 Release Notes

Comunidade de aprendizado opcional: GyaanSetu on Telegram