
Renomear um profile do Hermes deixava um fantasma
Renomear um profile deixava a state DB no nome antigo. O PR #112653 migra essa identidade, adiciona um comando de retry e impede que profiles apagados voltem.
Ler mais
Multiplexação de perfis no gateway agora é o padrão
gateway.multiplex_profiles agora vem ativado, mas uma guarda de inicialização decide valores não definidos: um gateway serve todos os perfis quando é seguro.
Ler mais
Por que o state.db se corrompe dentro de mounts do Docker Desktop, OrbStack e WSL2
Faça bind mount do seu diretório de dados em um container e o virtiofs ou o 9p não conseguem dar ao SQLite WAL o lock compartilhado de que ele precisa, então dois writers corrompem o state.db em silêncio enquanto toda checagem de integridade passa. Desde a PR #111433, o Hermes avisa isso na inicialização e no hermes doctor, com duas correções concretas.
Ler mais
Você já paga por um pensamento que não precisa: reasoning effort em todo seletor de modelo do Hermes
Cobrar um rename de uma linha em ultra reasoning effort é o desperdício mais comum em uma configuração de agent. A PR #110346 coloca um passo de effort em todo seletor de modelo — hermes model, /model, a TUI Ink, o gateway de mensageria. Aqui está toda a superfície de controle: /reasoning, a pill do composer no Desktop, effort por tarefa em Settings → Model → Auxiliary, agent.reasoning_overrides e delegation.reasoning_effort.
Ler mais
Por que suas ferramentas MCP vivem pedindo login de novo: dentro do ciclo de vida dos tokens OAuth
Figma, Linear e Notion não param de pedir que o Hermes faça login outra vez — e geralmente não é erro de configuração. Aqui está o ciclo de vida dos tokens por trás disso: como refreshes concorrentes disparam a detecção de reuso, por que um refresh token precisa ficar vinculado ao servidor que o emitiu, e as quatro correções que o Hermes lançou para isso.
Ler mais
hermes profile update apagava as suas skills e os seus cron jobs
O PR #111344 corrige um bug P1 de perda de dados: atualizar uma distribution de profile substituía os diretórios skills/ e cron/ inteiros, apagando tudo o que o usuário havia adicionado. Agora eles são mesclados root por root, então as suas adições sobrevivem enquanto os roots publicados pelo autor continuam atualizando.
Ler mais
Hermes v0.21.3: a sua sessão de desktop para de se desconectar sozinha depois de dormir
A v0.21.3 (tag v2026.9.14) é a tag de correção que leva as correções de sign-in remoto para usuários de Docker e Cloud: bursts de refresh concorrentes não revogam mais a sessão inteira, o refresh roda fora do event loop, e processos de longa duração param de vazar handles de escrita duplicados no state.db.
Ler mais
Suas fotos de iPhone finalmente funcionam: decodificação HEIC no vision_analyze e ferramentas de visão que param de desaparecer
Enviar uma foto de iPhone para o Hermes costumava devolver uma única linha: source is not a recognized image. O PR #106408 adicionou sniffing de ftyp ISO-BMFF e normalização com pillow-heif; o PR #110136 corrigiu o cache poisoning que fazia as ferramentas de visão desaparecerem em processos de longa duração.
Ler mais
Como concluir o OAuth em um servidor remoto: túneis SSH, callbacks colados e device codes
Quando o Hermes roda em uma VM na nuvem ou atrás de um jump box, o OAuth com redirect de loopback (Spotify, servidores MCP remotos) quebra em 127.0.0.1. Três caminhos que funcionam: um encaminhamento local via SSH, colar a URL de redirect de volta e fluxos de device code ou de código colado.
Ler mais
169.254.169.254 agora pede licença: o Hermes coloca a busca de credenciais do instance metadata na nuvem atrás de aprovação
Em uma VM na nuvem, o instance metadata service entrega credenciais IAM temporárias para qualquer processo local sem autenticação nenhuma. Depois do PR #106418, comandos que atingem 169.254.169.254, fd00:ec2::254, metadata.google.internal ou 100.100.100.200 pedem aprovação em vez de serem auto-aprovados.
Ler mais
Quando os dedos apertam Esc: keybindings do Vim no composer do CLI do Hermes (e o nome do branch na sua status bar)
Você digita um prompt longo, acha um erro de digitação e aperta Esc por reflexo para corrigir — e nada acontece. Depois do PR #106412, display.vim_mode transforma o composer de entrada do CLI em um editor estilo vi, com rótulo NORMAL/INSERT/REPLACE ao vivo na status bar.
Ler mais
Hermes v0.21.2: isolamento entre perfis e o fim da tempestade de backends
v0.21.2 fecha sete vazamentos entre perfis, impede que o desktop abra um backend para cada perfil e corrige uma série de comportamentos de cron, kanban e memória que não faziam sentido.
Ler mais
Sem reiniciar: o Hermes passa a servir na hora os perfis criados com o gateway em execução
São duas da manhã, você acabou de criar um terceiro perfil, colou o token do bot, mandou um olá no Telegram — e ninguém responde. O desktop continua mostrando o gateway desse perfil como parado. A única saída documentada era reiniciar o gateway, o que interrompe os outros dois perfis no meio de tarefas longas. O PR #109239 muda isso: um gateway multiplex em execução passa a reconciliar o diretório de perfis a quente. Perfis novos são servidos na hora, credenciais coladas depois reconstroem o adaptador, perfis removidos são desmontados e saem do roteamento, e um rescan a cada 30 segundos cobre as falhas. Mesclado na main em 2026-09-12, depois da versão v0.21.2.
Ler mais
O Hermes agora pede aprovação antes de desinstalar um pacote
Um pacote npm global está deixando seus builds lentos, você digita `npm uninstall -g some-package` e aperta Enter. Dois dias depois ele falta na CI e todos os projetos daquela máquina são afetados. Esse comando antes rodava sem nenhuma pergunta, porque o portão de comandos perigosos só conhecia primitivas de shell. O PR #109170 (já na main) adiciona uma regra package manager uninstall para npm, pnpm, yarn, pip e brew: as desinstalações agora perguntam, enquanto instalações e atualizações continuam passando. As regras são ancoradas com _CMDPOS, então texto entre aspas não é marcado por engano, e uma opção global seguida de um argumento também não escapa.
Ler mais
Hermes MCP include: uma lista vazia agora bloqueia tudo, em todo lugar
Várias interfaces liam tools.include: [] como «chave não definida». Depois do PR #109188, o hermes mcp list, o hermes mcp configure, o hermes tools, a reinstalação do catálogo e o painel MCP do desktop mostram 0 selecionados.
Ler mais
As tarefas cron do Hermes agora degradam em vez de falhar em gateways systemd sem sessão D-Bus de usuário
Em gateways gerenciados pelo systemd que não têm sessão D-Bus de usuário (contêineres, LXC enxuto, contas de serviço sem linger), cada tarefa cron falhava no exato momento do despacho. O PR #109311 faz essas tarefas degradarem: continua sendo um processo worker externo, só que sem isolamento de cgroup, com um único aviso por processo de gateway. Defina cron.require_restart_safe_scope: true para recuperar o comportamento fail-closed. Mesclado na main em 2026-09-12; ainda não está em nenhuma versão publicada.
Ler mais