Uma git worktree é um diretório de trabalho separado com seus próprios arquivos e branch, compartilhando o mesmo histórico de repositório e remoto que seu checkout principal. Executar cada sessão do Claude Code em sua própria worktree significa que edições em uma sessão nunca tocam arquivos em outra, para que você possa ter Claude construindo um recurso em um terminal enquanto corrige um bug em um segundo. Esta página aborda isolamento de worktree na CLI. Tudo abaixo assume um repositório git. Para outros sistemas de controle de versão, consulte Controle de versão não-git. O aplicativo desktop cria uma worktree para cada nova sessão automaticamente. Worktrees são uma das várias maneiras de executar Claude em paralelo. Elas isolam edições de arquivo, enquanto subagentes e equipes de agentes coordenam o trabalho em si. Consulte Executar agentes em paralelo para comparar as abordagens, ou pule para Isolar subagentes com worktrees para usar worktrees e subagentes juntos.Documentation Index
Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt
Use this file to discover all available pages before exploring further.
Inicie Claude em uma worktree
Passe--worktree ou -w para criar uma worktree isolada e iniciar Claude nela. Por padrão, a worktree é criada em .claude/worktrees/<value>/ na raiz do seu repositório, em um novo branch nomeado worktree-<value>:
WorktreeCreate. Execute o comando novamente com um nome diferente em outro terminal para iniciar uma segunda sessão isolada:
bright-running-fox:
EnterWorktree.
Antes de usar --worktree em um diretório pela primeira vez, aceite o diálogo de confiança do workspace executando claude uma vez nesse diretório. Se a confiança ainda não foi aceita, --worktree sai com um erro e solicita que você execute claude no diretório primeiro, inclusive quando combinado com -p.
Escolha o branch base
Worktrees fazem branch a partir do branch padrão do seu repositório,origin/HEAD, para que começem de uma árvore limpa correspondendo ao remoto. Se nenhum remoto estiver configurado ou a busca falhar, a worktree volta para seu HEAD local atual. Para sempre fazer branch a partir do HEAD local, defina worktree.baseRef como "head" em configurações. Definir baseRef como "head" faz com que novas worktrees carreguem seus commits não enviados e estado de branch de recurso, o que é útil ao isolar subagentes que precisam operar em trabalho em andamento. A configuração aceita apenas "fresh" ou "head", não refs git arbitrárias:
#, ou uma URL completa de pull request do GitHub. Claude Code busca pull/<number>/head de origin e cria a worktree em .claude/worktrees/pr-<number>:
WorktreeCreate, que substitui completamente a lógica padrão de git worktree.
Copie arquivos ignorados pelo git em worktrees
Uma worktree é um checkout fresco, então arquivos não rastreados como.env ou .env.local do seu repositório principal não estão presentes. Para copiá-los automaticamente quando Claude cria uma worktree, adicione um arquivo .worktreeinclude à raiz do seu projeto.
O arquivo usa sintaxe .gitignore. Apenas arquivos que correspondem a um padrão e também são ignorados pelo git são copiados, então arquivos rastreados nunca são duplicados.
Este .worktreeinclude copia dois arquivos env e uma configuração de segredos em cada nova worktree:
.worktreeinclude
--worktree, worktrees de subagentes, e sessões paralelas no aplicativo desktop.
Isole subagentes com worktrees
Subagentes podem executar em suas próprias worktrees para que edições paralelas não entrem em conflito. Peça ao Claude para “usar worktrees para seus agentes”, ou defina permanentemente em um subagente personalizado adicionandoisolation: worktree ao frontmatter. Cada subagente obtém uma worktree temporária que é removida automaticamente quando o subagente termina sem alterações.
Limpe worktrees
Quando você sai de uma sessão de worktree, a limpeza depende se você fez alterações:- Sem alterações: a worktree e seu branch são removidos automaticamente
- Alterações ou commits existem: Claude solicita que você mantenha ou remova a worktree. Manter preserva o diretório e branch para que você possa retornar mais tarde. Remover exclui o diretório da worktree e seu branch, descartando todas as alterações não confirmadas e commits
- Execuções não interativas: worktrees criadas com
--worktreejunto com-pnão são limpas automaticamente, pois não há prompt de saída. Remova-as comgit worktree remove
cleanupPeriodDays, desde que não tenham alterações não confirmadas, nenhum arquivo não rastreado e nenhum commit não enviado. Worktrees que você cria com --worktree nunca são removidas por esta varredura.
Gerencie worktrees manualmente
Para controle total sobre localização de worktree e configuração de branch, crie worktrees com Git diretamente. Isso é útil quando você precisa fazer checkout de um branch existente específico ou colocar a worktree fora do repositório. Crie uma worktree em um novo branch:Controle de versão não-git
Isolamento de worktree usa git por padrão. Para SVN, Perforce, Mercurial, ou outros sistemas, configure hooksWorktreeCreate e WorktreeRemove para fornecer lógica de criação e limpeza personalizada. Como o hook substitui o comportamento padrão do git, .worktreeinclude não é processado quando você usa --worktree. Copie quaisquer arquivos de configuração local dentro do seu script de hook.
Este hook WorktreeCreate lê o nome da worktree de stdin, faz checkout de uma cópia de trabalho SVN fresca, e imprime o caminho do diretório para que Claude Code possa usá-lo como o diretório de trabalho da sessão:
WorktreeRemove para limpar quando a sessão terminar. Consulte a referência de hooks para o esquema de entrada e um exemplo de remoção.
Veja também
Worktrees lidam com isolamento de arquivo. As páginas relacionadas abaixo cobrem delegação de trabalho para esses checkouts isolados e alternância entre as sessões que você cria:- Subagentes: delegue trabalho para agentes isolados dentro de uma sessão
- Equipes de agentes: coordene múltiplas sessões do Claude automaticamente
- Gerencie sessões: nomeie, retome e alterne entre conversas
- Sessões paralelas do desktop: sessões apoiadas por worktree no aplicativo desktop