Tarefas Paralelas: Executando Múltiplos Claudes em Concorrência
📚 Navegação da Série: O capítulo anterior 40 Chrome: Permitindo Operar o Navegador ensinou a estender as ações do Claude para o navegador para clicar e interagir de forma visual. Este capítulo aborda a concorrência — em vez de delegar tarefas em sequência para um único agente, veremos como executar múltiplos fluxos de desenvolvimento de forma simultânea. Analisaremos o isolamento via git worktree, a gestão de sessões em segundo plano e a execução em lote via modo headless, além do ponto mais importante: identificar quando a concorrência otimiza o fluxo e quando ela gera complexidade desnecessária.
Pode parecer embaraçoso, mas a primeira vez que tentei "trabalhar em paralelo", cometi um erro clássico: abri dois terminais, entrei na mesma pasta do projeto e instruí um Claude a alterar a tela de login enquanto o outro corrigia um bug no backend.
Pensei: "Excelente, agora tenho o dobro de produtividade."
O resultado foi caótico: ambos os agentes modificaram o arquivo package.json simultaneamente, e as alterações de um sobrescreveram e reverteram as dependências salvas pelo outro. Ao rodar git status, os arquivos modificados estavam misturados, impedindo identificar qual linha pertencia a qual alteração. Gastei muito mais tempo desfazendo e organizando o código manualmente do que se tivesse executado as tarefas de forma sequencial. Essa experiência me ensinou que trabalhar em paralelo exige mais do que abrir janelas adicionais no terminal; o segredo está em evitar que as tarefas modifiquem os mesmos arquivos.
Para solucionar isso, o Claude Code fornece recursos nativos de concorrência — como o --worktree para isolar cópias do repositório por sessão, o --bg para enviar tarefas para segundo plano e o claude agents para gerenciar os processos ativos. Neste capítulo, detalharemos como contornar esses cenários de conflitos e aplicar as ferramentas na prática.
Ao ler este capítulo, você obterá:
- A definição de concorrência e seus dois pré-requisitos essenciais: tarefas independentes e arquivos sem sobreposição.
- Um comparativo das quatro abordagens de concorrência (subagentes, visualização de agentes, equipes de agentes e fluxos dinâmicos) para saber qual utilizar.
- Como utilizar o
--worktreepara criar cópias isoladas do projeto e evitar conflitos de escrita, incluindo o uso de.worktreeincludee práticas de limpeza. - Como enviar tarefas para segundo plano usando
--bge monitorá-las viaclaude agents. - Como executar tarefas em lote via scripts usando o modo headless (
claude -p) acelerado pelo parâmetro--bare. - A regra de decisão para identificar quando a concorrência é vantajosa e quando ela gera complexidade desnecessária.
01 Compreendendo a Concorrência: Casos de Uso e Pré-requisitos
Conclusão inicial: a concorrência resolve a necessidade de processar tarefas independentes sem fila de espera; contudo, sua execução depende de que as tarefas não concorram pelos mesmos arquivos simultaneamente.
Nos capítulos anteriores, focamos em fluxos de "sessão única" — abrir uma instância do Claude, passar um comando e aguardar a execução. Esse modelo atende à maioria dos cenários de desenvolvimento, mas pode ser lento em duas situações principais:
1. Tarefas independentes sem relação de precedência: Por exemplo, "ajustar uma folha de estilo no front-end", "corrigir um bug de validação no back-end" e "criar testes unitários para um helper". São três tarefas distintas que poderiam rodar simultaneamente, mas que costumam ficar travadas em uma fila de execução única.
2. Alterações em larga escala que sobrecarregam uma única sessão: Por exemplo, "substituir uma API legada por uma nova versão em todo o repositório", envolvendo dezenas de arquivos. Processar todas as edições em uma única sessão consome os limites de contexto da IA (Capítulo 19), fazendo com que ela comece a "esquecer" instruções ao longo do processo.
Analogia: Caixas de supermercado. Se o estabelecimento possui apenas um caixa aberto, todos os clientes precisam aguardar na mesma fila — isso é a execução sequencial. Para otimizar o tempo, o supermercado abre novos caixas, permitindo que os clientes sejam atendidos simultaneamente. A execução paralela funciona da mesma forma: divide-se as tarefas independentes entre diferentes instâncias do Claude em vez de enfileirá-las na mesma sessão.
A abertura de novos caixas exige que cada um atenda clientes distintos sem interferir no caixa ao lado. Se dois caixas tentarem acessar a mesma gaveta de moedas no mesmo instante, o sistema falhará. Essa é a regra de ouro das tarefas paralelas:
Se as tarefas modificam os mesmos arquivos, use worktrees para isolar o ambiente.
Exemplos típicos onde a concorrência se aplica com eficiência:
- "Corrigir bugs distintos em três módulos isolados do projeto" — execute três sessões simultâneas sem conflito.
- "Identificar arquivos não utilizados no diretório
utils/" — delegue a busca para um subagente (Capítulo 23) mantendo o contexto da sessão principal livre. - "Aplicar a mesma alteração de lint em 30 arquivos" — automatize a execução em lote usando comandos headless.
💡 Resumo em uma frase: A concorrência permite que tarefas independentes rodem sem fila de espera, mas exige como condição essencial evitar que diferentes instâncias alterem os mesmos arquivos simultaneamente.
02 As Quatro Abordagens de Concorrência do Claude Code
O Claude Code disponibiliza diferentes recursos para gerenciar tarefas simultâneas. A documentação reúne essas ferramentas com foco em um ponto central: quem gerencia a coordenação dos fluxos? Pode ser o Claude gerenciando subagentes no mesmo terminal, você monitorando os status de processos em segundo plano ou o Claude liderando uma equipe de agentes.
Comparativo das quatro abordagens:
| Abordagem | Funcionamento | Coordenação | Cenário de Uso |
|---|---|---|---|
| Subagentes (Subagent) | Um assistente secundário aberto na sessão principal que executa uma tarefa isolada e retorna um resumo. | Claude gerencia a chamada e o retorno na conversa ativa. | Evitar que buscas longas ou logs de erro limitem o espaço de contexto da sessão principal. |
| Visualização de Agentes (Agent View) | Interface de console (claude agents) para monitorar e controlar sessões rodando em segundo plano. | O desenvolvedor monitora e interage quando necessário. | Para tarefas longas e independentes que você deseja rodar em segundo plano e monitorar os status. |
| Equipe de Agentes (Agent Teams) | Múltiplas sessões que interagem entre si, compartilham escopo de tarefas e atualizações (recurso experimental). | O Claude atua como líder da equipe coordenando os agentes. | Projetos extensos onde as etapas são divididas entre diferentes papéis (detalhado no Capítulo 29). |
| Fluxos Dinâmicos (Workflows) | Scripts estruturados que disparam múltiplos agentes de forma concorrente para validar resultados. | Coordenação via script em vez de decisão da IA. | Grandes refatorações de código ou auditorias em centenas de arquivos que exigem dupla validação. |
⚠️ Recursos experimentais ou em preview: Os recursos de visualização de agentes (agent view) e fluxos dinâmicos (workflows) estão em fase de visualização prévia (research preview), e as equipes de agentes (agent teams) são consideradas experimentais (desativadas por padrão), podendo sofrer alterações em atualizações futuras da CLI. Os subagentes representam um recurso estável.
A divisão baseia-se em quem coordena o fluxo: o Claude delegando em sua sessão ativa (subagentes), você acompanhando no terminal (visualização de agentes), a IA liderando papéis (equipes de agentes) ou scripts de automação (fluxos dinâmicos).
Além dessas abordagens, existem duas ferramentas que auxiliam a execução paralela:
- Worktrees: Cria cópias físicas isoladas do diretório via Git para garantir que as sessões não colidam na escrita de arquivos (detalhado na Seção 3).
/batch: Uma habilidade (skill) que divide uma refatoração em lote em múltiplos subagentes usando worktrees, gerando Pull Requests isolados. Ela serve como facilitador de fluxos de concorrência.
As abordagens de subagentes (Capítulo 23) e equipes de agentes (Capítulo 29) foram analisadas em detalhes anteriormente. Este capítulo focará nas ferramentas de isolamento via worktrees, gerenciamento de sessões em segundo plano e automações em lote via modo headless.
💡 Resumo em uma frase: A concorrência possui quatro abordagens diferenciadas pelo coordenador do processo; as ferramentas de worktrees e comandos em lote fornecem a base técnica para a execução de processos paralelos.
03 Isolamento com Git Worktree: Criando Cópias Físicas do Repositório
Esta etapa resolve o cenário de conflito apresentado no início do capítulo, sendo fundamental para entender o fluxo de concorrência.
O conflito de concorrência ocorre quando duas sessões atuam sobre a mesma árvore de trabalho, sobrescrevendo linhas no mesmo arquivo. O recurso de git worktree (funcionalidade nativa do Git) soluciona essa limitação.
Analogia: Cópias de uma planta de arquitetura. Se três engenheiros precisam adicionar anotações em uma planta, trabalhar no mesmo papel físico gerará rasuras e confusões. O correto é gerar cópias da planta — cada profissional trabalha em sua folha física e, ao final, as marcações são consolidadas na folha oficial. O git worktree realiza essa cópia física: cria caminhos de diretório independentes a partir do histórico do Git, contendo branches próprios, mas compartilhando o mesmo banco de dados do repositório. As edições de uma sessão não afetam os arquivos da outra.
A documentação detalha a segurança de isolamento desse recurso:
Executar sessões do Claude Code em worktrees independentes garante que as edições de um fluxo de trabalho não afetem os arquivos monitorados por outro, permitindo construir uma funcionalidade em um terminal enquanto corrige um bug em outro de forma segura.
Criando Sessões Isoladas
Para iniciar uma sessão em um ambiente isolado, use o parâmetro --worktree (ou -w) especificando um identificador para a sessão. O Claude criará a estrutura física e iniciará a sessão de forma automática. Por padrão, a pasta do worktree é criada em .claude/worktrees/<identificador>/ associada a uma branch worktree-<identificador>:
claude --worktree feature-authPara abrir uma segunda sessão simultânea, abra um novo terminal, mude para o diretório raiz e crie o fluxo indicando um nome diferente:
claude --worktree bugfix-123Cada instância trabalhará em sua cópia física de arquivos, eliminando os riscos de concorrência de gravação de arquivos em disco. Caso não especifique um identificador, o Claude gerará uma string aleatória:
claude --worktreeTambém é possível solicitar a transição para um ambiente isolado durante uma sessão de chat enviando a mensagem "trabalhar em um worktree", fazendo com que o agente acione a ferramenta EnterWorktree interna.
Antes de rodar o comando
--worktreeem um projeto pela primeira vez, inicie uma sessão padrão doclaudeno diretório para aprovar a validação de segurança e confiança do espaço. Caso contrário, o comando de isolamento falhará orientando a realizar essa validação inicial.
Três Pontos de Atenção para Iniciantes
1. Configurar o arquivo .gitignore: Adicione a pasta .claude/worktrees/ no arquivo de exclusões do Git para evitar que as cópias de desenvolvimento sejam marcadas como arquivos não rastreados no diretório principal.
2. Gerenciar arquivos não monitorados (como .env): Como os worktrees são criados a partir do histórico de commits do Git, arquivos que não estão versionados (como chaves de API locais ou configurações .env) não serão copiados por padrão, quebrando a execução de dependências. Para corrigir, crie o arquivo .worktreeinclude na raiz do projeto listando quais arquivos locais devem ser duplicados automaticamente em cada novo worktree:
.env
.env.local
config/secrets.jsonDeixar de incluir arquivos de configuração locais no .worktreeinclude é uma falha comum que impede a inicialização de bancos de dados ou chamadas de API nas sessões isoladas.
3. Decidir sobre a limpeza ao encerrar a sessão: O Claude adota as seguintes regras de remoção ao finalizar o chat:
- Se não houver alterações: sem commits ou arquivos modificados, o diretório temporário e seu branch associado são removidos automaticamente. Se você nomeou o worktree manualmente, a CLI perguntará se deseja manter os arquivos.
- Se houver alterações: a CLI exibirá uma pergunta no terminal solicitando que você decida se deseja salvar (preservando a branch e a pasta para acessos futuros) ou descartar a estrutura.
- No modo headless (
-p): a CLI não realiza a remoção automática por não possuir prompts de confirmação interativos, exigindo que você limpe a estrutura usando comandos git comogit worktree removeapós a execução.
Criação Manual de Worktrees
Caso prefira gerenciar o ciclo de vida dos worktrees manualmente, você pode utilizar os comandos do Git diretamente no seu console (assunto detalhado no Capítulo 43):
# Criar o diretório apontando para uma nova branch
git worktree add ../projeto-feature-a -b feature-a
# Acessar a pasta e iniciar a CLI
cd ../projeto-feature-a && claude
# Listar os ambientes ativos
git worktree list
# Remover a pasta física ao concluir
git worktree remove ../projeto-feature-aLembre-se: como cada worktree é um diretório novo no sistema operacional, é necessário executar a instalação de dependências de pacotes e inicializar ambientes virtuais novamente dentro da nova pasta.
💡 Resumo em uma frase: O isolamento via worktrees cria cópias físicas de arquivos para cada sessão do Claude; use
claude --worktree <nome>para inicializar e certifique-se de configurar o.gitignoree o.worktreeincludepara gerenciar dependências locais.
04 Execução em Segundo Plano e Visualização de Agentes
Ao disparar múltiplas tarefas paralelas, evite abrir várias abas de terminal para acompanhar a execução de cada uma. Para isso, utilize a interface de gerenciamento Visualização de Agentes (Agent View).
Analogia: Painel de controle de tráfego aéreo. O controlador de tráfego aéreo monitora a movimentação das aeronaves através de uma tela consolidada, acompanhando a altitude e rota de cada voo. Ele não precisa estar dentro de cada cabine de pilotagem — ele observa os indicadores visuais e interage via rádio apenas quando um piloto solicita autorização ou relata um desvio. A tela do claude agents atua de forma similar: consolida as sessões rodando em segundo plano, exibe o status de cada uma e permite que você intervenha apenas quando houver solicitações.
Enviando Tarefas para o Segundo Plano
Sessões em segundo plano não ficam presas ao terminal ativo — você pode fechar o console, mudar de pasta ou interagir com outra janela enquanto a execução continua ativa no sistema.
Abordagem 1: Pelo terminal do sistema operacional, adicione o parâmetro --bg:
claude --bg "Investigue por que o teste unitario SettingsChangeDetector falha de forma intermitente"A CLI iniciará a tarefa e exibirá o ID de controle do processo junto com os comandos de gerenciamento recomendados:
backgrounded · 7c5dcf5d
claude agents list sessions
claude attach 7c5dcf5d open in this terminal
claude logs 7c5dcf5d show recent output
claude stop 7c5dcf5d stop this sessionAbordagem 2: Durante um chat ativo, envie o comando /bg (abreviação de /background) para mover a conversa atual para execução em segundo plano.
Gerenciando com o Painel claude agents
Abra a interface de controle consolidada executando:
claude agentsO comando substitui a tela do terminal por uma lista das sessões ativas divididas por status ("Aguardando Ação", "Executando" e "Concluído"). Ícones coloridos detalham o andamento de cada processo:
| Indicador | Status | Significado |
|---|---|---|
| Ícone animado | Executando | O agente está rodando ferramentas ou redigindo respostas. |
| Cor amarela | Aguardando Ação | O processo está aguardando respostas ou aprovações de permissão. |
| Cor verde | Concluído | A tarefa foi encerrada com sucesso. |
| Cor vermelha | Falha | O processo foi encerrado por erro de execução. |
Principais ações no painel de controle:
- Tecla
Espaço(Visualizar/Peek): Abre uma janela lateral mostrando os logs e as últimas linhas de resposta da sessão selecionada sem precisar entrar no chat completo. - Responder: Permite digitar e enviar respostas para o agente diretamente na janela de visualização lateral, pressionando
Enterpara validar. - Teclas
Enter/Seta para Direita(Acessar/Attach): Conecta o terminal ativo à sessão selecionada, convertendo-a em uma conversa interativa comum. Use aSeta para Esquerdano prompt vazio para retornar ao painel principal.
Ao disparar sessões em segundo plano, o Claude Code cria automaticamente worktrees individuais em .claude/worktrees/ para cada processo. O gerenciamento físico de arquivos é tratado de forma transparente pelo sistema.
Nota sobre o consumo de tokens: Sessões rodando em concorrência consomem limites de uso de forma cumulativa. Executar dez sessões em segundo plano consumirá sua cota de assinatura de forma dezoito vezes mais rápida. Gerencie os processos ativos com moderação.
💡 Resumo em uma frase: Use
--bgou/bgpara mover sessões para segundo plano e monitore o andamento no console unificadoclaude agents, que gerencia o isolamento de arquivos de forma automatizada por trás da interface.
05 Automações em Lote: Executando no Modo Headless
Para atividades repetitivas ou integrações com ferramentas de CI/CD, você pode interagir com o Claude de forma automatizada (sem prompts visuais de terminal) usando o modo headless.
Analogia: Formulários de autoatendimento. Em vez de interagir com um atendente humano em um guichê, você preenche um formulário com seus dados e o deposita em uma urna. A solicitação é processada em lote e o resultado é retornado para você de forma direta. O modo headless funciona da mesma forma: você envia o prompt e as restrições em um único comando no terminal e a CLI processa e encerra a execução retornando os dados finais.
Para rodar comandos nesse modo, use o parâmetro -p (ou --print):
claude -p "Localize falhas de importacao no modulo auth.py e aplique a correcao" --allowedTools "Read,Edit,Bash"A instrução --allowedTools é obrigatória para especificar quais ferramentas de disco ou terminal a IA pode executar de forma livre, pois o modo headless impede que a IA faça perguntas ou solicite confirmações no terminal durante o processo (revisado no Capítulo 20).
Três Recursos Importantes para Scripts
1. Leitura via Pipeline (stdin): O modo headless pode receber entradas de dados de outros processos por meio de pipes do terminal. Por exemplo, enviando um arquivo de log de erro para análise:
cat build-error.txt | claude -p "Explique a causa principal deste erro de compilacao de forma direta" > explicacao.txt2. Acelerar execução com --bare: Por padrão, o comando headless carrega todas as dependências da CLI, diretrizes do CLAUDE.md, plugins e servidores MCP ativos. Para acelerar o tempo de inicialização em scripts de automação, use o parâmetro --bare para ignorar esses carregamentos secundários:
claude --bare -p "Gere um resumo deste arquivo" --allowedTools "Read"A especificação
--bareé recomendada para chamadas de scripts e SDKs, tornando-se o comportamento padrão para o modo-pem versões futuras da CLI.
3. Obter retornos estruturados com --output-format json: Para que scripts de terceiros analisem a resposta gerada, solicite a saída estruturada em JSON e processe as chaves usando utilitários como jq:
claude -p "Apresente um resumo do repositorio" --output-format json | jq -r '.result'Automatizando Processos em Lote
Você pode combinar o modo headless com laços de repetição (como estruturas for do shell) para executar tarefas repetitivas em arquivos do projeto:
for f in src/*.py; do
claude --bare -p "Escreva uma descricao curta da funcao principal do arquivo $f" --allowedTools "Read"
doneEssa estrutura resolve necessidades de processamentos em lote de baixa complexidade. Para refatorações extensas ou validações entre múltiplos diretórios, utilize a ferramenta /batch ou fluxos dinâmicos.
Nota sobre cobrança: Conforme as regras oficiais, o tráfego gerado via chamadas de SDK e uso do modo headless (
claude -p) é faturado de forma independente das cotas de assinatura comuns, sendo cobrado com base em limites mensais específicos de chamadas (detalhado no Capítulo 6).
💡 Resumo em uma frase: O modo headless (
claude -p) roda tarefas de forma não interativa; use--allowedToolspara liberar ferramentas,--barepara acelerar a inicialização e--output-format jsonpara extrair dados em scripts de automação.
06 Critérios de Decisão: Quando Evitar o Uso de Concorrência
Embora a execução paralela otimize o tempo de desenvolvimento, usá-la sem critérios adequados pode gerar conflitos de versão e desperdício de limites de cota da assinatura.
A concorrência é indicada apenas quando as tarefas cumprem os dois requisitos essenciais: independência lógica e isolamento físico de arquivos.
Tabela de apoio para decisão de arquitetura:
| Cenário de Desenvolvimento | Abordagem Recomendada | Justificativa |
|---|---|---|
| Correções de bugs em submódulos isolados. | ✅ Paralelemizar | As tarefas não dependem entre si e os arquivos alterados são antigos/distintos. |
| Executar edições estruturais idênticas em múltiplos arquivos. | ✅ Paralelemizar (Headless / /batch) | Lógica repetitiva e isolada, otimizada para execução automatizada. |
| "Refatorar um helper comum para depois atualizar as chamadas nas APIs". | ❌ Sequencial | O segundo passo depende das definições de código criadas no primeiro. |
Múltiplos agentes alterando o mesmo arquivo de dependências (package.json). | ❌ Sequencial (ou usar worktrees de forma estrita) | Alterações concorrentes no mesmo arquivo geram conflitos de gravação. |
| Ajuste pontual de texto em um arquivo (menos de 5 minutos). | ❌ Sequencial | O tempo gasto configurando ambientes isolados supera o tempo de execução direta. |
| Processos que dependem de retornos de dados constantes entre si. | ⚠️ Avaliar | A comunicação entre agentes paralelos gera overhead de tokens. Prefira fluxo sequencial. |
Diretrizes práticas para o dia a dia:
- Não tente rodar tarefas paralelas que dependam entre si. Se a tarefa B depende dos dados gerados pela tarefa A, o agente rodando B lerá uma base desatualizada, exigindo que você descarte o código gerado e refaça a chamada.
- Evite dividir tarefas de escopo pequeno. Para modificações simples, o fluxo sequencial padrão no mesmo chat resolve de forma mais rápida do que a coordenação de branches de worktrees.
- Acompanhe o limite de uso de contexto. Limite suas execuções manuais concorrentes em segundo plano a um grupo de 3 a 5 agentes para manter o controle dos status e evitar o consumo excessivo das cotas da assinatura de forma rápida.
💡 Resumo em uma frase: Use a concorrência apenas para tarefas independentes e que atuem em arquivos separados; fluxos com dependências lógicas ou edições rápidas de escopo simples devem ser tratados de forma sequencial.
07 Prática: Criando Ambientes Isolados e Monitorando em Segundo Plano
Abaixo, realizaremos um teste guiado para validar a inicialização de sessões isoladas e o monitoramento a partir de um repositório Git existente.
Requisitos: Repositório Git local criado e validado, Claude Code instalado na versão v2.0.73 ou superior.
Passo 1: Acessar a pasta e validar o terminal padrão
Mude para a pasta do repositório Git de testes e inicie uma conversa padrão do Claude para garantir a validação de segurança e confiança do diretório:
cd pasta-do-seu-projeto-git
claudeFaça uma pergunta simples à IA e encerre a sessão digitando /exit.
Passo 2: Iniciar uma sessão isolada via worktree
Execute o comando apontando o parâmetro de criação do ambiente de trabalho:
claude --worktree teste-paraleloResultado esperado: O Claude exibe a confirmação de que está configurando e acessando o diretório temporário em
.claude/worktrees/teste-paralelo/. As alterações físicas salvas nessa sessão não alterarão os arquivos da sua pasta de trabalho principal. Encerre o chat.
Passo 3: Confirmar a criação do diretório Git temporário
No terminal do seu sistema operacional, execute:
git worktree listResultado esperado: O console exibe o repositório principal e a linha correspondente ao diretório temporário apontando para
.claude/worktrees/teste-paraleloassociado a uma branch de desenvolvimento própria.
Passo 4: Disparar uma tarefa em segundo plano
Envie a instrução a seguir para iniciar uma busca de arquivos em segundo plano:
claude --bg "Identifique todos os arquivos com extensao .md neste projeto e liste suas linhas iniciais"Resultado esperado: O terminal retorna o ID de monitoramento do processo (por exemplo,
backgrounded · 7c5dcf5d), liberando o terminal de comando de forma imediata.
Passo 5: Acessar o painel consolidado de agentes
Abra a tela de monitoramento das tarefas em segundo plano:
claude agentsResultado esperado: A interface de console do
claude agentsé carregada listando a tarefa iniciada. Pressione a teclaEspaçocom a linha selecionada para ler os logs do andamento. Ao finalizar, pressioneEscpara fechar a visualização do painel.
Passo 6: Limpar as estruturas temporárias
# Pare o processo em segundo plano indicando o ID de controle
claude stop <ID_DO_PROCESSO>
# Remova o worktree temporário (na pasta raiz)
git worktree remove .claude/worktrees/teste-paraleloResultado esperado: Confirmação de parada da sessão no terminal. A execução de
git worktree listdeve exibir apenas o repositório principal ativo. A limpeza das estruturas isoladas foi concluída.
💡 Resumo em uma frase: O teste prático valida a criação do worktree via
--worktree, a listagem dos diretórios ativos comgit worktree list, o envio de tarefas em segundo plano com--bg, o monitoramento viaclaude agentse a limpeza de recursos.
08 Resumo
A concorrência no Claude Code otimiza o processamento de tarefas independentes do projeto, isolando o ambiente de arquivos e fornecendo painéis para monitoramento unificado.
Pontos chaves abordados neste capítulo:
| Tópico | Detalhe |
|---|---|
| Pré-requisitos | Exige tarefas logicamente independentes e sem sobreposição de escrita de arquivos. |
| Isolamento | O git worktree gera diretórios físicos temporários para cada sessão, evitando conflitos de arquivos. |
| Arquivos locais | Use o .worktreeinclude para definir quais arquivos locais não versionados (como .env) devem ser copiados para os novos diretórios. |
| Segundo Plano | Parâmetro --bg envia conversas para segundo plano e o painel claude agents serve para monitorar o andamento. |
| Modo Headless | Parâmetro -p roda tarefas sem console interativo, ideal para integração com scripts locais ou ferramentas de CI. |
| Limites de Uso | Sessões paralelas consomem cotas de tokens de forma cumulativa; gerencie de forma moderada. |
Com essa estrutura, você pode organizar e gerenciar concorrência em tarefas complexas, garantindo o isolamento das branches de desenvolvimento.
O próximo capítulo, 42 "Variáveis de Ambiente", detalhará as configurações ocultas do sistema. Veremos quais variáveis modificam o comportamento do Claude Code e como usá-las para ajustar configurações de diretórios, comportamentos de rede e limites de ferramentas. Nos vemos no próximo capítulo!