Executando verificação de segurança...
2

Pitch: A IA vasculhou minha home, quase rodou terraform apply e commitou no projeto errado. Então eu fiz isso!

Estava trabalhando num projeto, pedi pro Claude Code fazer umas mudanças na configuração do ambiente. Em algum momento ele decidiu começar a rodar comandos do Terraform. Não pediu confirmação. Não avisou. Só foi aplicando.

Deu pra impedir, mas foi suficiente pra me deixar preocupado.

Depois disso comecei a prestar mais atenção e percebi mais alguns problemas:

O Claude da empresa me impedia de usar o meu próprio Claude na mesma maquina. Minha empresa paga pelo Claude Code. Eu queria usar nos meus projetos pessoais também, mas com minha própria conta, sem queimar os tokens da empresa no meu side project de sábado.

A IA estava commitando e subindo branches nos projetos errados. Como eu rodava tudo
no mesmo terminal, o contexto vazava. Às vezes ela pegava configuração de git do projeto errado e ia lá empurrar coisa em branch que não devia.

Por inúmeras vezez, a IA buscava informações no meu diretório home. Quando ela tinha dificuldades em algumas tarefas, ela começava a subir os diretórios para vasculhar e tentar encontrar envs ou código que pudesse ajudar com o problema que ela estivesse passando.

Esses três problemas têm a mesma causa: a AI CLI rodando solta no meu ambiente,
com acesso a tudo, filesystem inteiro, credenciais, configuração de git, chaves SSH.

Então vibecodei o hutch.


O que é

Chama de AI jail, workspace isolator, gerenciador de perfis de AI, ou simplesmente "o negócio que impede o Claude de ver mais do que deveria". O hutch é isso.

Ele roda AI CLIs, ou qualquer outra coisa, em containers Docker isolados. Cada perfil tem:

  • Só o projeto atual montado como /workspace, a AI enxerga apenas o diretório onde você está. Sem acesso ao resto do filesystem.
  • Um volume próprio para a home (~/.claude, credenciais, gitconfig, SSH), cada conta é completamente separada.
  • Seu UID/GID do host dentro do container, sem problema de permissão nos arquivos.

O problema do Terraform ainda pode acontecer, mas agora está contido. O pior que ele faz é dentro do container. Sem acesso à minha infra local por padrão.

O problema das contas? Tenho um perfil work com a conta da empresa e um perfil personal com a minha. Cada um tem seu próprio histórico, suas próprias credenciais. Trocar é só mudar o comando.

O problema dos branches errados? Sumiu. Cada perfil tem seu próprio .gitconfig isolado no volume. A identidade git não vaza mais entre projetos.


Como funciona

Três camadas independentes:

CamadaOnde ficaO que define
Imageimages/<name>/DockerfileSoftware instalado
Basebases/<name>.ymlRuntime (volumes, socket, env)
Profile~/.config/hutch/<name>Nome + qual base + qual comando

Múltiplos perfis podem compartilhar a mesma base. Múltiplas bases podem usar a mesma imagem. O workspace é sempre o diretório atual, roda hutch work de qualquer projeto e ele monta aquela pasta.


Na prática

# Instalar
curl -fsSL https://raw.githubusercontent.com/guilhermewebdev/hutch/main/install.sh | bash

# Primeira vez: build da imagem
hutch build claude

# Autenticar (fica salvo no volume do perfil)
hutch work login
hutch personal login

# Usar
hutch work               # Claude com conta da empresa, no projeto atual
hutch personal           # Claude com minha conta, estado completamente separado
hutch shell work         # bash no container — configura git, SSH, o que quiser

Por que não distrobox / devcontainer / etc?

Testei o distrobox. Ele expõe o filesystem inteiro do host, não é exatamente um jail. O devcontainer é ótimo mas é focado em ambiente de desenvolvimento, não em isolar ferramentas que rodam no seu terminal do dia a dia. Também testei o ai-jail do Akita, mas passei por alguns bugs que me fizeram parar de usar.

O hutch é especificamente para isso: você continua no seu terminal de sempre, mas a AI fica no cercadinho.


Vem com suporte a Claude Code e Gemini CLI por padrão, mas funciona com qualquer CLI que caiba num Dockerfile.

GitHub: guilhermewebdev/hutch

Carregando publicação patrocinada...