
O herdr é um runtime gratuito, sob Apache-2.0, para agentes de programação que mantém o Claude Code, o Codex, o OpenCode e o Pi vivos quando você fecha a janela ou o SSH cai. Ele executa seus terminais em um servidor em segundo plano, marca cada agente como working, blocked, done ou idle e permite reanexar de qualquer máquina. Tem duas interfaces, um app de terminal e um app desktop nativo que chegou ao Hacker News em 30 de outubro, e o projeto já passou de 47.000 estrelas no GitHub.
Se você roda um único agente em uma única aba de terminal, o tmux ou um terminal comum bastam. O herdr se justifica quando você roda quatro ou mais agentes em vários projetos e vive perdendo de vista qual deles está esperando por você. Os limites, sem rodeios: programas em execução não sobrevivem a uma reinicialização da máquina, as duas interfaces não compartilham agentes, e a empresa por trás levantou uma rodada seed de US$ 6 milhões, o que preocupa alguns usuários.
O herdr é infraestrutura para agentes de programação. Se o trabalho é atender clientes, o colega de equipe a contratar é um colega de equipe de IA para helpdesk, e a CLI do eesel permite que o Claude Code o configure a partir de um painel do herdr.
Eu trabalho nas integrações e APIs do eesel, então leio ferramentas como esta do mesmo jeito que leio uma API: o que ela controla, o que expõe e o que quebra às 2 da manhã. Passei pelo README, pela documentação, pelas notas de versão e pelas duas discussões no Hacker News. Foi isto que encontrei.
O que é o herdr?
O herdr se descreve como "o runtime em que seus agentes de programação vivem". Em termos simples, é um workspace de terminal feito para quem roda vários agentes de programação com IA ao mesmo tempo. Cada agente fica em um painel de terminal real, com seu próprio shell, logs e prompts. O herdr identifica quais painéis têm um agente, resume o estado deles por aba e por workspace e oferece um só lugar para ver quem precisa de você.

Os números do próprio site mostram a velocidade do crescimento. O repositório foi criado em 27 de março de 2026, e a página do TUI agora mostra 47,150 estrelas, 1,967,496 instalações, 2,009 plugins da comunidade e 22 CLIs de agentes detectadas. A última versão estável é a v0.9.5, de 14 de outubro, e o projeto é escrito em Rust.

A discussão de lançamento no Hacker News, "Herdr: One terminal to rule them all", chegou a 404 pontos e 178 comentários em julho. A discussão do app nativo, em 30 de outubro, passou de 360 pontos e gerou um longo debate sobre o tmux, que abordo mais adiante.
Herdr TUI, herdr app, herdr-core: qual é qual?
Os nomes confundem, então aqui está o mapa. São três peças, todas de código aberto, e, segundo o README do app e o FAQ do site, elas se relacionam assim:
| Peça | O que é | Onde roda |
|---|---|---|
| Herdr TUI | O original: um app de terminal com seu próprio servidor em segundo plano | Dentro de qualquer terminal, em macOS, Linux e Windows |
| Herdr app | Um app desktop nativo construído sobre o herdr-core, lançado em outubro de 2026 | macOS (Apple Silicon), Linux (x86-64 e ARM64), Windows (x64) |
| herdr-core | Um servidor pequeno que de fato executa os terminais | Sua máquina, ou uma remota via SSH |
Um detalhe importa muito: o FAQ diz que o app e o TUI são "um programa novo e separado" e que não compartilham agentes, então o que roda em um não aparece no outro. Escolha uma interface por máquina e fique com ela.

A proposta do app é que seu agente pode mudar qualquer parte dele. Os layouts organizam a janela, de forma parecida com como os plugins estendem o Claude Code, e os mods são pequenos programas em JavaScript que desenham seus painéis, menus e diálogos. Você pede ao agente um painel do Linear ou um gráfico do git, e ele edita o mod. O README é direto ao dizer que os mods são código confiável, não extensões em sandbox, então leia o mod de outra pessoa antes de instalá-lo.
Como o herdr mantém os agentes rodando quando fecho a janela?
No desenho, o herdr separa a tela do trabalho. Um servidor em segundo plano é dono dos terminais, e a janela é apenas um cliente. Feche o cliente, perca a conexão SSH ou deixe o notebook entrar em repouso, e o servidor continua. A documentação sobre estado da sessão é incomumente clara sobre o que isso cobre e o que não cobre.

Esta é a parte que eu imprimiria. Desanexar mantém seus processos vivos. Reiniciar o servidor, não. Depois de uma reinicialização, o herdr restaura workspaces, abas, painéis, pastas e foco, e os painéis voltam como shells novos nos diretórios salvos. Se a conversa de um agente volta ou não depende do agente. Desde a v0.9.2, os agentes podem informar o próprio comando de retomada, e então o herdr reabre exatamente aquela sessão. Para agentes com integração nativa, herdr integration install <name> configura a mesma restauração.
Por baixo, o repositório contém um crate ghostty-vt, e comentaristas atribuem ao libghostty a emulação de terminal. Um usuário de longa data do tmux resumiu a vantagem assim:
"I switched to herdr this year after a decade of using tmux, and I haven't looked back since. Herdr is wonderful, not only because of the coding agent integrations, but also because it uses libghostty under the hood. So no terminal-emulator-inside-another-terminal-emulator shenanigans."
Como instalo o herdr e começo a usá-lo?
A instalação leva uma linha. Para o app de terminal, o README dá estas opções:
curl -fsSL https://herdr.dev/install.sh | sh
# or
brew install herdr
mise use -g herdr
Se você usa as flags da CLI do próprio Claude Code, elas passam direto para o painel. Depois, inicie onde o trabalho acontece:
herdr
O herdr abre ou anexa à sua sessão padrão em segundo plano, então você nunca gerencia sockets, de forma parecida com a integração com o terminal que o próprio Claude Code já traz. Quando uma sessão não tem workspaces, ele abre um para você. O app desktop é instalado separadamente com curl -fsSL https://releases.herdr.dev/app/install.sh | sh, ou com um Herdr.dmg no Apple Silicon. Os dois instaladores baixam e executam código, então leia o script antes, se preferir.
O início rápido é curto. Inicie claude, codex, pi ou opencode em um painel e o herdr o detecta. O mouse cobre tudo, e o teclado é opcional, com o prefixo ctrl+b:
| Ação | Tecla |
|---|---|
| Dividir à direita | prefix+v |
| Dividir para baixo | prefix+minus |
| Nova aba | prefix+c |
| Novo workspace | prefix+shift+n |
| Desanexar o cliente | prefix+q |
Um workspace é um projeto, então dê um a cada repositório ativo. Isso mantém a barra lateral legível. Se o seu shell se anexa automaticamente ao tmux, adicione uma verificação da variável HERDR_ENV, pois a documentação avisa que o tmux dentro de um painel do herdr esconde o agente da detecção e pode fazer o terminal piscar. Esse alerta, aliás, pegou um leitor do Hacker News que iniciou o herdr de dentro do tmux e desistiu.
Como o herdr sabe qual agente precisa de mim?
Este é o recurso central e também o motivo pelo qual a maioria das pessoas o experimenta. Cada painel de agente é marcado como working, blocked, done, idle ou unknown, e a barra lateral resume isso entre os workspaces. Segundo a documentação, o herdr lê o estado a partir do que os agentes desenham na tela, e alguns agentes informam o estado por conta própria.
A lista de suportados é longa: Claude Code, Codex, Copilot CLI, Cursor Agent, OpenCode, Pi, Droid, Devin, Kimi, Qwen, Grok e outros, além de alguns marcados como apenas estado ou menos testados, como o Gemini CLI e o Cline. Para seus próprios scripts, o site do app documenta um protocolo de status aberto chamado OSC 7501, que cabe em uma linha:
printf '\e]7501;state=blocked:app=my-agent\e\\'
Um usuário do Hacker News explicou por que isso importa melhor do que o marketing:
"I will start a workspace for each different thing I'm working on, label it ... Then in each one I run a Claude Code. Then I can see the status of my Claude Codes just by glancing at the sidebar, rather than having to switch between screens to see what is waiting next."
Se você já usa o Claude Code com hooks, dá para aproximar isso no tmux, e um comentarista faz exatamente isso: um spinner azul quando está trabalhando, um ponto vermelho quando precisa de atenção, um visto verde quando terminou. O argumento do herdr é que você não deveria precisar montar isso por conta própria para cada agente.
Os agentes podem controlar o próprio herdr?
Sim, e acho que essa é a decisão de design mais interessante da ferramenta inteira. O README chama o herdr de "agent-native": os agentes o controlam por meio de uma CLI e de uma API de socket, criando painéis, enviando prompts uns aos outros e esperando até que outro agente fique bloqueado. A documentação de automação de agentes divide a superfície em comandos de layout, de painel e de agente, e os comandos de criação imprimem JSON para que os scripts capturem os IDs:
created=$(herdr workspace create --cwd ~/project --label api --no-focus)
pane_id=$(printf '%s\n' "$created" | jq -r '.result.root_pane.pane_id')
herdr agent start reviewer --kind codex --pane "$pane_id"
Isso abre espaço para padrões como a revisão cruzada, e combina com fluxos de trabalho com Git e ferramentas MCP, e o MCP para suporte é a mesma ideia no lado do helpdesk. Um desenvolvedor descreveu um hook em que o Claude abre um pull request, um pequeno script inicia o Codex no painel ao lado e o Codex publica os achados para o Claude corrigir:
"Claude builds and opens a PR. A small hook starts Codex in the next Herdr pane. Codex posts its findings on the PR. Claude fixes them and replies, finding by finding."
É o mesmo formato dos subagentes do Claude Code, só que o ajudante pode ser o agente de outro fornecedor, em um terminal separado. Um comentarista da discussão do app resumiu bem o desenho: se o multiplexador é dono do terminal, ele pode ler a saída, enviar entrada e controlar o agente, o que é orquestração entre fornecedores por meio de suas interfaces de linha de comando.
Como rodo o herdr em outra máquina?
Aqui o modelo de servidor do herdr compensa. Mantenha um workspace em uma máquina de build ou em uma VPS barata, entre por SSH de qualquer lugar e tudo está onde você deixou. O guia de conexão de máquinas mostra dois caminhos:
herdr machine add workbox # save an SSH host in your sidebar
herdr --remote workbox # attach to its session directly
Uma máquina salva mantém seus próprios espaços e divisões no seu próprio core, e seu trabalho local e remoto aparece junto em uma lista de agentes combinada. A documentação acrescenta duas ressalvas que valem a leitura: um perfil de máquina aponta para uma sessão remota, não para todas as sessões do host, e a autenticação do Git dentro dos painéis remotos exige ForwardAgent yes, que o herdr não ativa por você.
Terceiros também estão construindo sobre isso. A empresa de sandboxes na nuvem boxd anunciou uma integração com o herdr em outubro, em que cada agente roda em sua própria máquina boxd dentro da barra lateral do herdr. Um usuário do Hacker News apontou o ponto fraco do SSH no celular com sinal ruim, em que ferramentas feitas para reconexão se saem melhor.
Herdr vs tmux: o que você realmente ganha?
Este foi o debate mais acalorado nas duas discussões do Hacker News, e vale responder de forma direta. O tmux é um multiplexador de uso geral que funciona há décadas. O herdr é um multiplexador que sabe o que é um agente de programação. Um comentarista resumiu em uma linha:
"It's all about agentic work. Tmux doesn't know what an Agent is... But if you don't do any agentic work, Herdr has 0 value vs. tmux."
Veja como eu os compararia, usando a documentação do herdr para o herdr e a comunidade para o resto:
| Pergunta | Herdr | Tmux |
|---|---|---|
| Sabe se um agente está working, blocked ou done | Nativo para 22 CLIs de agentes | Não é nativo. Possível com hooks que você escreve |
| Barra lateral de agentes entre projetos | Sim | Você mesmo monta |
| Mouse em primeiro lugar, clicar e arrastar divisões | Sim, também com teclas de prefixo | Teclas de prefixo em primeiro lugar |
| Agentes podem criar painéis e enviar prompts a outros | CLI e API de socket | Possível com scripts de send-keys |
| Máquinas remotas em uma só visão | Nativo com herdr machine add | SSH e anexar a cada host |
| Maturidade | Menos de um ano, 98 versões | Décadas de existência, roda em qualquer lugar |
Quem defende o tmux tem um bom argumento. Um usuário que roda quatro janelas do tmux mostrou indicadores de status ligados por hooks do Claude Code e perguntou por que mudar.
"In my current tmux session I have four windows each with a status indicator that shows up when that window is running a claude code session. It is a blue animated braille spinner when it is working, a red dot when it needs attention and a green tick when it is finished with its work."
Isso funciona, então, se você gosta de cuidar dessa cola, mantenha. O argumento do herdr é que essa cola já vem pronta e cobre agentes que você ainda não conhece. Outro usuário disse que os motivos reais para trocar foram o indicador visual de trabalhando ou esperando, as sessões remotas nativas em uma só visão e um layout amigável ao toque em uma tela pequena de iOS. Um terceiro desistiu depois de uma semana porque o Ghostty, as notificações e as extensões de harness já bastavam para ele. Os dois lados têm razão, cada um para o seu cenário.
Outras opções de código aberto estão no meu levantamento de agentes de código aberto. Entre as ferramentas desse espaço estão o Orca e vários multiplexadores novos que apareceram nas discussões, e um comentarista diz que um multiplexador do criador do Ghostty está a caminho. Não testei nenhum deles, então não vou classificá-los. Se você quer o panorama mais amplo, o DeepSeek Harness é um parente próximo e as alternativas ao Cursor mostram o lado pago; depois, minha lista de ferramentas de programação com IA para terminal e de CLIs de programação agêntica é o melhor ponto de partida.
Quanto custa o herdr, e quem paga por ele?
O herdr não custa nada para usar. O FAQ do site diz que o app, o herdr-core e o Herdr TUI são todos de código aberto, e a licença no GitHub é Apache 2.0. Você paga pelos agentes que roda dentro dele, como um plano do Claude Code ou o uso do Codex, além de uma assinatura do Cursor, se você usa esse.
O financiamento é o que preocupa alguns usuários. O herdr levantou uma seed de US$ 6 milhões liderada pela Bessemer Venture Partners em 8 de setembro, com Y Combinator, e2vc e investidores-anjo, incluindo o CEO da Shopify. O fundador escreveu que o runtime continua aberto e que o dinheiro vai para pessoas. Nem todo mundo está tranquilo:
"I really enjoyed herdr at first but ever since they got VC funding I am avoiding it. Enshittification and cloud features due to vc/monetization pressure incoming."
Outros comentaristas responderam que código com licença Apache pode ser bifurcado (fork), e um deles disse que já mantém alterações pessoais em um fork. Acho que as duas visões são razoáveis. A licença protege o código que você pode ver hoje. Ela não diz quanto os recursos hospedados, se houver, vão custar no futuro, e o herdr não publicou nenhum plano pago que eu tenha encontrado.
Onde o herdr fica devendo?
Há alguns limites, todos vindos da documentação ou das discussões:
- Programas não sobrevivem a uma reinicialização. O layout volta, os processos não. Se você precisa que uma tarefa sobreviva à reinicialização da máquina, o herdr não é a camada que faz isso.
- Duas interfaces, dois mundos. Agentes iniciados no TUI não aparecem no app desktop, e vice-versa.
- O status precisa de ajuda de alguns agentes. A lista de agentes mostra os que informam o estado via OSC 7501, e alguns, como o Gemini CLI e o Cline, são marcados como menos testados.
- Telemetria e mods. A telemetria de uso vem ativada por padrão nas versões do app e pode ser desativada em Settings, Privacy. Um comentarista notou que o conteúdo enviado exclui o conteúdo do terminal e os nomes de arquivos, e o diálogo de configurações mostra um exemplo. Os mods são código confiável.
- Uma curva de aprendizado se você nunca usou teclas de prefixo. O mouse ajuda, mas vários comentaristas vieram do tmux, e um usuário novo não conseguiu descobrir como sair.
- Software jovem. Versões como a v0.9.3 e a v0.9.5 foram hotfixes para regressões de entrada, incluindo atalhos que deixaram de funcionar em alguns terminais. Espere correções rápidas e quebras ocasionais.
Quem deve usar o herdr?
Eu o usaria se você se encaixa em qualquer um destes casos (e, se você mantém regras do projeto em um AGENTS.md, elas acompanham todos os painéis):
- Você roda quatro ou mais agentes de programação ao mesmo tempo em vários repositórios e vive perdendo aquele que está bloqueado.
- Você trabalha em uma máquina remota ou VPS e quer reanexar a partir de um notebook, de um celular ou de outra máquina.
- Você quer que seus agentes coordenem uns aos outros e não se incomoda de usar scripts com uma CLI.
- Você já vive em um terminal e gosta de usar o Claude Code, o Codex ou o OpenCode nele.
Eu o evitaria se você roda um agente por vez, se o tmux já faz tudo de que você precisa ou se quer que uma tarefa longa sobreviva a uma reinicialização. Nesse caso, um agendador ou uma tarefa de CI é a ferramenta certa.
Onde o eesel se encaixa ao lado do herdr?
O herdr é uma camada onde seus agentes vivem. Ele não decide que trabalho eles fazem e não conhece seus clientes. Isso é outro trabalho.

É assim que eu penso nisso. O herdr, o Claude Code e o Codex são infraestrutura e ferramentas. O eesel é o funcionário: um colega de equipe de IA que você contrata para uma função, com as integrações e o contexto da empresa já no lugar, a mesma ideia de um funcionário de IA. Entre os melhores colegas de equipe de IA, aquele em que eu trabalho é o colega de equipe de IA para helpdesk, que entra na sua fila existente do Zendesk, Freshdesk ou Gorgias. O eesel coloca agentes de IA em filas de suporte reais há anos, e a lição que tiramos disso é simular cada implantação com tickets históricos antes que um cliente veja qualquer resposta.
O problema do herdr de "qual agente precisa de mim" também existe no suporte, só que com outros agentes. A SE Ranking roda três agentes do eesel no Zendesk, um para a SE Ranking, um para a Planable e um para a SE Visible, e em um mês o eesel tratou cerca de 4.650 conversas entre tickets do Zendesk e chats ao vivo. A Swiftreg roda dois agentes no Zendesk, um para tickets de suporte e outro para respostas a vendedores particulares, e tratou cerca de 2.100 tickets no mesmo mês. Nas duas histórias, a equipe mantém o controle pelas regras que escreveu e por um repasse para pessoas, que é a mesma ideia do estado blocked do herdr.
O que a CLI do eesel acrescenta?
A CLI do eesel é a parte que conecta os dois mundos. Ela coloca o mesmo agente do eesel no seu terminal: você conversa com ele, conecta um helpdesk, envia conhecimento, configura automações e aprova ações retidas sem abrir o painel. Tudo o que você configura na CLI aparece no painel, e vice-versa. Todo comando imprime JSON, então um agente de programação com IA, como o Claude Code, o Cursor ou o Codex, pode executar toda a sua configuração.

A configuração de cinco minutos da documentação é esta, e funciona sem conta porque cria um workspace anônimo gratuito que dura 7 dias:
npx @eesel/cli init chat-bubble --site https://your-site.com
eesel login
eesel chat "what's our refund policy?"
eesel files upload ./refund-policy.pdf
eesel approvals
Alguns comandos valem a pena conhecer: eesel integrations connect para helpdesks como Zendesk, Freshdesk e Gorgias, eesel automations para o que o agente faz por conta própria, eesel activity para o que ele tem feito e eesel approvals para ações retidas esperando por uma pessoa. Este último é a versão de suporte do estado blocked do herdr. Um painel no herdr é apenas um terminal, então você pode deixar uma sessão do Claude Code em um painel fazendo a configuração do eesel enquanto acompanha o resto do rebanho. Não executei exatamente essa combinação, mas nada em nenhuma das duas ferramentas a impede. Para saber mais sobre o padrão, veja meus guias sobre a CLI de agentes de IA, como controlar agentes de IA pela CLI, a CLI para atendimento ao cliente e uma plataforma de agentes API-first.
Experimente o eesel
Se seus agentes de programação são as ferramentas e as dúvidas dos clientes são o trabalho, o eesel é o colega de equipe que faz o trabalho. O colega de equipe de IA para helpdesk se conecta ao seu helpdesk em minutos, aprende com sua central de ajuda e com tickets anteriores e passa para sua equipe tudo o que for arriscado. Configure pelo painel, ou deixe o Claude Code controlar a CLI do eesel a partir de um painel do herdr. Experimente o eesel grátis, ou agende uma demo se o seu volume de suporte for grande.
Perguntas frequentes
O que é o herdr?
O herdr é um runtime gratuito, sob Apache-2.0, para agentes de programação. Ele executa seus terminais em um servidor em segundo plano, marca cada agente como working, blocked, done ou idle e mantém tudo vivo quando você fecha a janela ou perde a conexão SSH. Ele executa o Claude Code, o Codex, o OpenCode e o Pi sem encapsulá-los.
O herdr é gratuito?
Sim. O app de terminal, o app desktop e o herdr-core são todos de código aberto sob Apache 2.0, e o site oficial responde "É grátis?" com um sim direto. Você continua pagando pelos agentes que roda dentro dele, como uma assinatura do Claude Code ou um plano do Codex.
Como instalar o herdr?
Para o app de terminal, execute curl -fsSL https://herdr.dev/install.sh | sh, ou use brew install herdr ou mise use -g herdr. Depois digite herdr na pasta de um projeto. O app desktop tem o próprio instalador em releases.herdr.dev/app/install.sh. Se você já usa scripts com agentes, meu guia sobre como gerenciar agentes de IA pelo terminal cobre o padrão mais amplo.
Qual é a diferença entre o herdr e o tmux?
O tmux é um multiplexador de terminal genérico que não sabe nada sobre agentes. O herdr acrescenta status que entende agentes, uma barra lateral entre workspaces, uma CLI que os agentes podem chamar e suporte nativo a máquinas remotas. Se você não usa agentes de programação, o herdr oferece pouco além do tmux. Se usa, ele poupa você de procurar o painel que está esperando por você. Veja também minha análise das ferramentas de programação com IA para terminal.
O herdr funciona com o Claude Code e o Codex?
Sim. A documentação lista integrações com Claude Code, Codex, Cursor Agent, OpenCode, Pi, Copilot CLI e mais, e o site diz que detecta 22 CLIs de agentes. Qualquer coisa que rode em um terminal também funciona, só que aparece como um terminal comum, sem status. Para configurações com vários agentes dentro dos subagentes do Claude Code, o herdr é a tela em que você os acompanha.
Os agentes do herdr sobrevivem a uma reinicialização?
Os programas não. O herdr restaura seus workspaces, abas, painéis e pastas depois de reiniciar o servidor, mas shells e agentes em execução se perdem, a menos que o agente consiga informar o próprio comando de retomada. Desanexar ou fechar a janela é diferente: tudo continua rodando. Essa é a linha em torno da qual eu planejaria tarefas longas do Claude Code.
O herdr é seguro para código privado?
O runtime é de código aberto, então você pode lê-lo. Há duas coisas a verificar: a telemetria de uso vem ativada por padrão nas versões do app desktop (desative em Settings, Privacy), e os mods de layout são código confiável, não extensões em sandbox. As regras de permissão dos seus agentes continuam valendo, como explicado em permissões do Claude Code.
O herdr pode substituir um agente de IA para atendimento ao cliente?
Não, eles ficam em camadas diferentes. O herdr executa agentes de programação nas suas máquinas. Um colega de equipe de IA para helpdesk como o eesel responde aos clientes dentro do Zendesk, Freshdesk ou Gorgias. Mesmo assim, você pode executar a CLI do eesel em um painel do herdr para configurá-lo com o Claude Code.