Pitch: Fiz o Cowork e o Claude Code conversarem sozinhos, sem eu precisar copiar e colar entre eles
Eu uso o Cowork (o Claude no app desktop) para pensar: descoberta, plano, design. E uso o Claude Code para construir. O problema é que eu virei o barramento entre os dois. Copiava o prompt de um, colava no outro, copiava a resposta, colava de volta.
Então montei uma ponte. Agora eu falo só com o Cowork, e ele delega para o Code, recebe o resultado e revisa antes de me mostrar.
O vídeo
São 3 minutos (reduzi ao máximo) de gravação real, com as esperas cortadas ou aceleradas (marcadas na tela). Peço uma página de Pomodoro com a lógica do timer num módulo testado. O Code entrega as duas partes em paralelo, com 22 testes passando. Mesmo assim, o Cowork acha na revisão um bug que os testes não pegaram (o tempo restante podia ficar negativo) e manda o Code corrigir. Eu testo no navegador, digo "aprovado" e confirmo o merge.
Como funciona
A comunicação é por arquivos, em uma pasta .bridge/ dentro do projeto (fora do git):
.bridge/
inbox/ # o Cowork escreve tarefas aqui (um .md por tarefa)
working/ # o Code move para cá ao pegar
outbox/ # o Code escreve o relatório aqui
done/
Do lado do Code, uma skill /bridge roda um script shell em segundo plano que fica olhando o inbox/. Enquanto espera, ele não consome nenhum token, porque a sessão do Code só acorda quando o script termina. Quando chega tarefa, o Code despacha subagentes em paralelo (no máximo 3), cada um num git worktree com seu próprio branch, e já volta a escutar.
Para o Code avisar o Cowork, usei uma tarefa agendada vinculada à conversa do Cowork. O Code dispara essa tarefa quando termina, e ela chega no Cowork como notificação. É a "campainha". O Cowork lê o outbox/, revisa o diff, roda os testes e me resume o que aconteceu.
Regras que deixei fixas
mainé produção. Um hook de pre-push bloqueia push direto nela.- Merge só acontece depois de um "sim" meu na caixa de confirmação no Code. Tarefa escrita em arquivo nunca vale como confirmação.
- Toda tarefa que mexe em código roda isolada em worktree. Correção em cima de um branch em revisão continua no mesmo worktree.
- Tudo que o Code me mostra na tela ele também grava em arquivo de notas, para o Cowork não perder nada.
Limitações
- O computador precisa estar ligado, com o Code aberto e rodando
/bridge. - Cada toque da campainha custa uma rodada do Cowork, e cada acordada do Code relê o contexto da sessão. Ou seja, a sessão do Code fica mais cara conforme cresce, e vale dar
/clearde vez em quando. - O Cowork não vê a tela do Code. Ele só sabe o que está nos arquivos.
Queria a opinião de vocês
- Alguém já resolveu isso de outro jeito? Procurei e não achei nada pronto.
- A campainha por tarefa agendada funciona, mas parece gambiarra. Vocês veem um caminho mais limpo para o Code avisar o Cowork?
- Faz sentido deixar o Cowork revisar o trabalho do Code, ou vocês confiariam só nos testes?
O código está aberto: https://github.com/lucianoiw/cowork-vs-code