/add-dir: trabalhando com múltiplos diretórios na mesma sessão
O slash command que expande o escopo do Claude Code sem reiniciar. Quando vale, quando atrapalha.
/add-dir <path> adiciona um diretório externo ao escopo de leitura e edição da sessão atual do Claude Code — sem reiniciar. Aceita caminhos relativos, absolutos e ~/. “Sessão” é literal: vale enquanto a conversa estiver aberta. Encerrou, perdeu.
Aqui está como decido, na prática.
Quando uso /add-dir
- Monorepo: mexendo num app, preciso ler um pacote shared —
/add-dir ../../packages/sharede o Claude já consegue ajustar os dois lados num turno só. - Microservices que precisam mudar juntos —
/add-dir ../auth-serviceevita 3 sessões separadas pra refatorar uma coisa que cruza serviços. - Código + documentação em outro repo —
/add-dir ~/docs/produtopra atualizar a doc na mesma leva da mudança de API. Antes eu sempre esquecia de voltar. - Descobri no meio da sessão que precisava de mais um dir — o trunfo do
/add-direm vez de reabrir o Claude Code: não perde o contexto já construído.
Quando não uso
- Acesso permanente nesse projeto — vai pra
additionalDirectoriesno.claude/settings.json. Carrega sozinho toda sessão; não preciso lembrar do comando. - Já sei os dirs ao abrir o Claude Code — uso
--add-dirna CLI direto:claude --add-dir ../shared --add-dir ../api. - Trabalho 100% isolado em outro dir —
cd && claudenuma sessão nova é mais limpo. - Precisava da config
.claude/do outro projeto —/add-dirignora quase tudo: hooks, subagents, output styles, e até oCLAUDE.md(a menos queCLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=1). Só.claude/skills/carrega de verdade.
O pitfall que me pegou uma vez
Hooks com paths relativos (./scripts/build.sh) resolvem do cwd original — não do dir adicionado. Tive um hook silenciosamente quebrado por dias antes de descobrir. Hoje, qualquer hook que precise rodar cross-dir usa caminho absoluto ou variável de ambiente.
Resumindo
/add-dir é descoberta ad-hoc; additionalDirectories é persistência; --add-dir na CLI é conhecimento prévio. Use o slash command quando perceber, no meio da sessão, que precisa de um dir a mais — e reabra o Claude se for trabalho isolado de verdade.