Faça login uma vez e seus apps conectados acompanham: o handoff do free tier chega limpo

Numa sexta-feira à tarde você finalmente cria uma conta. Fazia três semanas que você rodava no free tier com Gmail, Notion e seu calendário conectados. Você abre as configurações, faz login, recebe uma saudação animada — e então abre a página de Connectors. Vazia. Todo app precisa ser autorizado de novo.
Isso não foi um bug. O login substituiu a identidade do free tier pela sua conta e deixou os apps conectados na identidade antiga, que nada na máquina usava mais. Três PRs mesclados em 23 de outubro de 2026 reconstroem esse caminho de ponta a ponta.
Três asperezas antes
- O upgrade rodava outro fluxo. Fazer login por cima do free tier registrava o free tier para transferência, mostrava uma página de consentimento especial com código próprio, fazia polling até a transferência terminar e só então obtinha o token da conta. Sem um free tier no disco,
/loginehermes auth upgradese recusavam a iniciar. - Os apps tinham que ser reconectados na mão. O login salvava a conta por cima do free tier; os apps ficavam para trás dele.
- Abrir a página de Connectors criava uma identidade em segundo plano — mesmo que você nunca tivesse conectado nada. E a oferta de fazer login só aparecia para quem estava no modelo de teste gratuito, então quem usava a própria key e conectava apps nunca a via.
Agora: um device login simples e depois o handoff
#143235 transforma todo login Nous em um device login simples. O desktop, o /login na CLI, a TUI e os apps de chat, e também o hermes auth upgrade, rodam um único fluxo: mostrar a página normal do dispositivo e o código, esperar a aprovação (ou o vencimento, ou o cancelamento) e salvar a conta. Sem página de consentimento especial, sem polling de transferência.
Depois vem a parte que importa: quando o salvamento termina, #143234 pede ao Nous Portal que mova os apps conectados do free tier para essa conta, usando o token de login da própria conta. São os detalhes que tornam isso confiável:
- Nenhuma chamada de rede no momento de salvar. O Hermes apenas anota “movimentação pendente”; a movimentação acontece quando o salvamento já terminou.
- Sem confirmação. O resultado aparece depois.
- Antes de qualquer requisição sair, o Hermes verifica se o token pertence à conta que substituiu o free tier. Os apps só vão para essa conta. Se você entrou em outra conta antes de uma nova tentativa rodar, o status diz que a movimentação está esperando a primeira conta.
- Se o Portal estiver ocupado ou inacessível, ele tenta de novo mais tarde — inclusive depois de um restart.
hermes auth status nousdeixa de ser umlogged inseco e passa a “logado, mais o que foi movido ou o que precisa ser reconectado”.
#143248 corrige a terceira aspereza: abrir a página de Connectors não cria nada. A página lista apps a partir do catálogo público do Portal, que não exige login. Conectar um app é o que cria a identidade naquele momento, e a página passa para o seu próprio catálogo, contas e regras. Se você conectou um app mas não está no teste, recebe a sua própria oferta — “Keep your connected apps” — em vez da oferta do teste.
A dica da CLI também foi corrigida: hermes connectors dizia para você rodar hermes login, um comando que não existe mais. Agora diz hermes auth upgrade.
O que você realmente digita
A superfície ficou mais simples, não mais complicada — todo caminho leva ao mesmo lugar:
hermes auth status nous # conta ou free tier, mais o estado do handoff
hermes auth upgrade # faz login com uma conta Nous, mantendo seus connectors
Dentro de uma sessão é /login, em todas as superfícies: desktop, CLI, TUI, plataformas de mensageria. hermes model e hermes auth add nous mantêm suas próprias flags (--portal-url, --ca-bundle, --insecure), mas rodam o mesmo device login por baixo e imprimem o mesmo resultado de handoff.
O fluxo do desktop também foi unificado: um cancelamento para em menos de um segundo e não salva nada; um código vencido mostra uma tela de timeout em vez de um erro genérico; e a tela de resultado diz quem fez login e o que foi movido.
Limites que vale conhecer antes
- Clientes antigos ainda chamam os endpoints antigos. O PR diz que os endpoints antigos de transferência do servidor não foram aposentados nesta mudança, porque versões mais antigas do Hermes ainda os chamam.
- O texto da nova oferta está só em inglês por enquanto (apontado em
#143248); os outros idiomas caem nele. - O catálogo público da página de Connectors depende de uma rota do Portal subir primeiro. Enquanto ela não estiver no ar, quem não tem identidade Nous não vê apps hospedados na página; o resto não é afetado.
- Abrir a lista de ferramentas de um app, renomear ou remover uma conta e salvar regras ainda criam a identidade — a essa altura você já escolheu um app, então é uma requisição explícita.
hermes connectors liste a checagem de status do agente também criam uma identidade, de propósito.
Como isso difere do post anterior sobre o free tier
Em 13 de outubro escrevemos sobre o guest token com escopo para os connectors do free tier — um token cujo único escopo é connectors:invoke e que pula o browser challenge. Este post é o próximo capítulo: o que acontece com essas conexões quando uma conta de verdade substitui a identidade gratuita. Para as regras de nomes em várias contas de connector, veja o guia de contas nomeadas; para o resto de hermes auth (add, list, reset, priority, refresh), a referência de comandos é a versão curta.
Status do release
Os três PRs foram mesclados na main em 23 de outubro de 2026 como uma única stack. O release mais recente ainda é o v0.22.4 de 21 de outubro, então esses comportamentos só existem na main até o próximo release chegar ao canal estável. Na v0.22.4 o caminho de login ainda é o antigo — confira o guia de canais de atualização antes de assumir que você já tem.