Introdução
O Claude Code é uma ferramenta poderosa, mas pode causar problemas se várias sessões tentarem acessar recursos compartilhados na mesma máquina. Este artigo apresenta um conjunto de hooks de segurança chamado claude-bulkhead, que ajuda a evitar essas colisões, garantindo que cada sessão tenha acesso exclusivo aos recursos necessários.

Funcionamento do claude-bulkhead
O claude-bulkhead não utiliza um daemon, mas sim um script Node que é executado antes de cada comando de shell. Este script lê o comando como sintaxe de shell e compara-o com os comandos em andamento em todas as sessões. Ele verifica quais processos e portas pertencem a qual sessão, quantos recursos (RAM) estão disponíveis e em qual árvore Git cada sessão está trabalhando.
Funcionamento Detalhado
Se houver uma colisão, o script bloqueia o comando atual e devolve ao Claude o motivo da colisão e um comando alternativo. Os possíveis comandos alternativos incluem:
- Matar pelo PID: Se um processo está ocupando recursos, o script pode usar o PID para matar o processo específico.
- Usar uma porta livre: Se uma porta está ocupada, o script pode usar uma porta disponível para o comando atual.
- Esperar numa fila de RAM: Se a RAM está sobrecarregada, o script pode esperar até que haja espaço suficiente.
- Commitar pelo nome do arquivo: Se o comando atual está comprometendo um arquivo que outra sessão está editando, o script pode usar o nome do arquivo para o commit.
Testes e Resultados
Para testar o claude-bulkhead, basta adicionar o plugin ao marketplace do Claude Code e executar o comando /bulkhead:scan 30d. Este comando testa as transcrições de comando em arquivos de projeto e verifica se os comandos em andamento estão bloqueados.
Limitações do claude-bulkhead
Embora o claude-bulkhead seja eficaz, ele não pode reproduzir portas e RAM a partir das transcrições. Isso significa que, se várias sessões tentarem acessar os mesmos recursos, o claude-bulkhead não poderá evitar a colisão.
Conclusão
O claude-bulkhead é uma ferramenta poderosa para controlar sessões paralelas do Claude Code em uma máquina compartilhada. Ele garante que cada sessão tenha acesso exclusivo aos recursos necessários, evitando colisões e garantindo que o sistema funcione de forma eficiente e sem problemas. Para testar o claude-bulkhead, siga as instruções fornecidas no README do projeto em português e em inglês.