MXterm Pro

Como rodar Claude Code e Codex em paralelo em painéis de terminal divididos

Henry AGI
5 min de leitura
Four steps: open a workspace on your repo, isolate features in git worktrees, split panes with one agent each, then review and merge

Para rodar Claude Code e Codex em painéis de terminal divididos, abra um espaço de trabalho no MXterm Pro com "Isolar funcionalidades em git worktrees" ativado e escolha Claude Code para um painel e Codex para o outro. Cada agente passa a trabalhar na própria branch, em vez de disputar o mesmo checkout. O isolamento reduz a chance de colisão entre branches. Ele não impede que dois agentes editem o mesmo arquivo.

Por que dois agentes no mesmo repositório costumam dar errado

A falha quase sempre é a mesma. Você abre o Claude Code numa aba de terminal e o Codex em outra, aponta os dois para a mesma cópia de trabalho e dá tarefas diferentes a cada um. Um agente roda git checkout -b feature-a enquanto o outro está no meio de uma edição na main. Agora você tem alterações não commitadas na branch errada, ou um git status que nenhum dos agentes esperava.

Mesmo numa única branch, dois agentes editando ao mesmo tempo arquivos que se sobrepõem geram conflitos de merge que você precisa resolver na mão.

Rodar um depois do outro evita a colisão, mas dobra a sua espera. Você fica de babá de um agente enquanto o outro está parado. A solução não é alternar os turnos com mais cuidado. Dê a cada agente a sua própria cópia de trabalho no disco, para que um git checkout num painel não consiga mexer nos arquivos do outro.

Passo a passo: painéis divididos com isolamento por agente

1. Abra um novo espaço de trabalho no seu repositório. Na tela de boas-vindas ou de novo espaço de trabalho do MXterm Pro, escolha a pasta do projeto. No macOS, você também pode usar a ação rápida "New MXterm Pro Tab Here" do Finder, se ela aparecer no menu Serviços, ou soltar a pasta no ícone do Dock.

2. Marque "Isolar funcionalidades em git worktrees". A descrição abaixo da caixa diz o que ela faz: "Cada painel de agente começa no próprio worktree e branch." Ela vem desativada por padrão.

Isso só ajuda dentro de um repositório git. Se a pasta não for um, o MXterm Pro não roda mais git init por você (mudança da 1.0.22). Ele avisa logo de início: "Esta pasta não é um repositório git, então os agentes vão compartilhá-la diretamente (sem isolamento de worktree).". Depois abre painéis comuns, sem isolamento, cada um com um aviso que você pode dispensar. Rode git init você mesmo antes, se quiser o isolamento.

3. Adicione painéis divididos. Use Cmd+D (dividir à direita) ou Shift+Cmd+D (dividir para baixo), ou defina a quantidade de painéis no Composer antes de criar o espaço de trabalho. Há mais sobre divisão na documentação de painéis.

Para reorganizar os painéis depois, arraste o cabeçalho de um painel até a borda de outro. A sobreposição mostra "Inserir à esquerda", "Inserir à direita", "Inserir acima" ou "Inserir abaixo", e o painel fica ao lado em 50/50. O redimensionamento também encaixa: solte um divisor a até cerca de 3,5% do centro e ele se ajusta em 50/50. Dê um duplo clique num divisor a qualquer momento para voltar a 50/50.

4. Inicie um agente por painel. Como o isolamento por worktree estava ativado, cada painel de agente que você escolheu no Composer (Claude Code num, Codex no outro) já fica na própria branch, com nome como swarm/brave-otter.

O app gera um par curto de adjetivo e substantivo, com checagem de colisão, em vez de reaproveitar nomes de agentes. Se esse nome por acaso já existir, ele tenta de novo com o sufixo -2. Um painel de Terminal comum, ou um painel que você adiciona depois com uma divisão, fica na raiz do repositório.

5. Dê a cada agente uma tarefa diferente, de preferência restrita a arquivos que não se sobreponham. Por exemplo, "refatorar o middleware de autenticação" no primeiro painel e "atualizar a interface de configurações" no segundo. O isolamento reduz a chance de colisão entre branches. Ele não impede que dois agentes editem, cada um por conta própria, o mesmo arquivo compartilhado, então divida o trabalho nas fronteiras reais do código.

6. Revise e faça o merge a partir da raiz do repositório. Quando um agente terminar, use cd para entrar no worktree dele (<repo>/.worktrees/<slug>) ou escolha-o na lista de Worktrees do painel Git. Depois faça o merge da branch do jeito normal: rode git merge, revise o diff ou abra um PR. O MXterm Pro não faz o merge por você. Ele só mantém as duas cópias de trabalho separadas enquanto os agentes rodam.

Guia relacionadoComo o Command Recipes funciona: comandos Linux prontos, achados por palavra-chave

Enviar um prompt para todos os painéis

Pressione Cmd+Shift+B no macOS para alternar o Transmitir entrada quando quiser mandar a mesma instrução a todos os agentes de uma vez, como "rode a suíte de testes" ou "puxe as últimas alterações e faça o rebase". O mapa de teclas associa Ctrl+Shift+B no Windows.

Enquanto ele está ligado, o que você digita no painel ativo é espelhado em tempo real em todos os outros painéis do grupo de transmissão. Um único npm test ou um único prompt chega a todos sem você redigitar em cada aba.

A transmissão é direta de propósito. Ela não junta as saídas nem espera um agente terminar antes de o próximo comando chegar. Só replica as mesmas teclas. Desligue-a (Cmd+Shift+B de novo) antes de digitar algo específico de um painel, como a resposta a uma pergunta de um agente. Do contrário, essa resposta vai para todos os painéis do grupo.

A Control Room multiagente e no que ela difere de painéis divididos comuns

A Control Room (antes War Room) é uma camada separada sobre os painéis divididos com isolamento por worktree, que impedem dois agentes de colidir no disco. Ela fica no painel auxiliar da direita. Alt+Cmd+B abre e fecha esse painel no macOS, e aí você escolhe a aba Control Room. No Windows o mapa de teclas associa Ctrl+Alt+B, que não foi verificado numa máquina Windows real.

Você inclui painéis de terminal numa sala compartilhada pelo botão Control Room de cada painel. A sala mantém uma transcrição contínua de quem entrou e saiu, das renomeações e das mensagens que o Moderator e os agentes trocam entre si.

Se você estiver digitando num painel, a entrega de prompts da Control Room para esse agente fica retida até você parar de digitar ou clicar em "Entregar agora". Assim ela não injeta uma instrução da fila no meio de uma tecla. O guia da Control Room cobre o resto, e a documentação de agentes e Control Room cobre o lado do app.

Por padrão, contas Free têm até 2 membros por Control Room. O Pro remove esse teto. Nunca houve limite para o número de salas. Rodar Claude Code e Codex lado a lado, que é o tema deste guia, cabe numa sala Free de 2 membros. Você só bate no teto ao adicionar um terceiro ou quarto membro à mesma sala.

Uso de tokens por agente (Token Meter)

O Token Meter do MXterm Pro cobre o Claude Code e o Codex. Clique no chip da barra de título e cada agente ganha uma linha. Ela se expande num sparkline horário e num detalhamento de 7 dias. Ele lê as transcrições de cada agente na sua máquina e não precisa de chave de API nem de conta. Nada é enviado para lugar nenhum, a menos que você ative a consulta opcional de limites do plano ao vivo. Como o uso de tokens é contado tem os detalhes.

Como isso se compara a iTerm2, Warp e tmux

O iTerm2 é um terminal maduro e programável para macOS, com painéis divididos excelentes e um enorme ecossistema de plugins. É um bom lugar para rodar Claude Code e Codex em dois painéis manualmente. A documentação dele cobre notificações de atividade, silêncio e término de job, um plugin de IA opcional e uma integração com o Claude Code. Ela não lista provisionamento de worktrees, então você mesmo cuidaria do isolamento de branches com git worktree add.

O Warp foi além de um único assistente de chat. O site dele descreve como trazer o seu próprio agente, como Claude Code ou Codex, e coordenar frotas de agentes a partir de um único plano de controle, na web, no celular, no terminal e na IDE. O MXterm Pro é mais restrito: um terminal desktop local com um worktree por painel de agente. Veja MXterm Pro vs Warp para a comparação completa.

O tmux dá os painéis e a memória muscular que muitos engenheiros já têm, e é o análogo mais próximo do modelo de painéis divididos do MXterm Pro. Mas ele é um multiplexador de terminal e não entende git.

Enviar teclas para vários painéis (:setw synchronize-panes on) é um truque antigo do tmux, e a função Transmitir entrada do MXterm Pro faz o equivalente. Provisionamento de worktrees, rastreamento de status dos agentes e a transcrição da Control Room não são coisas que uma configuração de tmux replica sem um esforço real de scripting.

Nenhuma dessas é uma escolha errada. iTerm2, Warp e tmux são todos terminais capazes. O que o MXterm Pro oferece a mais nesse fluxo é a combinação: isolamento por worktree ligado à criação do espaço de trabalho, detecção de status dos agentes e transmissão de entrada, num app nativo só, em vez de três scripts e um .tmux.conf costurados à mão.

Limites do Free e do Pro neste fluxo

O essencial deste guia funciona no plano Free: divisões de dois painéis, isolamento por worktree, transmitir entrada e uma Control Room de 2 membros. Os números passam a importar quando você escala além de um par de agentes.

Por padrão, o Free não tem limite de painéis de terminal. Ele permite 5 hosts SSH salvos, 2 membros da Control Room por sala e 1 Máquina salva. O Pro remove os limites de hosts SSH e membros da Control Room.

Ou seja, o plano Free não é uma demo reduzida deste fluxo. Os limites só aparecem quando você roda equipes maiores de agentes ou gerencia uma frota de hosts SSH junto com eles.

Quando não funciona: problemas comuns

Os painéis abriram sem worktrees. A pasta não era um repositório git. O MXterm Pro parou de rodar git init por você na 1.0.22. Isso acontecia automaticamente e podia levar um .env ou uma chave para um histórico novinho que ninguém pediu. Por isso ele volta para painéis comuns compartilhados e explica o motivo.

Rode git init você mesmo e crie o espaço de trabalho de novo. Se o repositório ainda não tiver commits, o MXterm Pro adiciona um "Initial commit" que contém apenas um arquivo .gitkeep vazio, para que os worktrees possam ser criados. Nada mais da pasta entra no commit.

Os dois agentes continuam caindo nos mesmos arquivos. O isolamento por worktree reduz colisões nas branches e no estado do checkout. Mas dois agentes ainda podem decidir mexer, cada um na sua cópia, num arquivo de configuração compartilhado, por exemplo. Isso é um problema de escopo de tarefa, que o isolamento não resolve. Divida o trabalho pelas fronteiras reais dos módulos.

A transmissão de entrada mandou uma resposta para o painel errado. Esse é o erro mais comum com a transmissão. O modo continua ligado até você desligá-lo, então uma resposta destinada à pergunta de um agente vai para todos. Desligue Cmd+Shift+B antes de qualquer coisa específica de um painel.

Fazer o merge da branch do worktree parece um passo extra. E é um passo extra de propósito. O isolamento mantém as cópias de trabalho separadas durante a execução, mas o MXterm Pro não faz merge automático. Trate cada branch de worktree como qualquer branch de funcionalidade: revise o diff e depois faça o merge ou abra um PR do jeito que você já faz.

Veja funcionando na prática

SSH com vários painéis, Command Recipes (Cmd+J) e uma Control Room (antes War Room) multiagente: comece grátis.

Baixar o MXterm Pro

Já tem o MXterm Pro? Leia o guia de configuração →

Novo no MXterm Pro? Veja os preços →

Perguntas frequentes

O que é a Control Room multiagente do MXterm Pro?

É um espaço de trabalho compartilhado no painel da direita para rodar vários agentes de IA em CLI juntos. Cada membro mostra uma bolinha de status (trabalhando, bloqueado, ocioso ou concluído, para os agentes que o MXterm consegue ler), a entrega de prompts fica retida enquanto você está digitando, e a sessão multiagente completa é exportada como relatório em Markdown. Ela é separada do isolamento por worktree dos painéis divididos: você pode usar qualquer um dos dois sozinho, ou os dois juntos.

Preciso de git worktrees para rodar Claude Code e Codex em painéis divididos?

Não. Você pode rodá-los em dois painéis comuns, sem isolamento, se eles trabalharem em repositórios diferentes ou se você preferir gerenciar a troca de branches por conta própria. O isolamento por worktree importa quando os dois agentes trabalham no mesmo repositório ao mesmo tempo. Sem ele, o git checkout de um agente pode tirar a branch de debaixo do outro.

Posso usar outros agentes de CLI além de Claude Code e Codex?

Sim. Qualquer ferramenta de CLI que rode num shell (Aider, Ollama ou um script seu) funciona num painel de terminal comum, e a função Transmitir entrada não se importa com qual binário você iniciou. O isolamento por worktree vale para os painéis de agente que você escolhe no Composer (Claude Code, Codex, Gemini CLI, OpenCode e os outros agentes integrados). Um painel comum fica na raiz do repositório.

Quantos agentes posso rodar antes de bater num limite?

Os painéis divididos são ilimitados no plano Free. Uma Control Room tem teto de 2 membros por sala no Free (ilimitados no Pro). Dois agentes, Claude Code e Codex, cabem com folga no plano Free.

A transmissão de um prompt espera um agente terminar antes de enviar ao próximo?

Não. A função Transmitir entrada espelha suas teclas para todos os painéis do grupo em tempo real. Ela não organiza em sequência nem espera a saída dos agentes. Serve para instruções curtas e idênticas (rodar testes, puxar as últimas alterações), não para uma conversa em que você quer que cada agente responda de forma independente.

Pergunte a uma IA sobre o MXterm Pro

Gere na hora uma resposta no ChatGPT, no Claude ou no Perplexity, com base nesta página. Quem escreve a resposta é o assistente, não a gente, então confira as fontes que ele cita.

Pergunta enviadaComo executo Claude Code e Codex lado a lado em painéis de terminal divididos no Mac?