# No Hermes, quem ganha: variável de ambiente ou config.yaml? Estou com valores diferentes nos dois e não sei qual vale.

Hermes Agent v0.19.0, eixo topologia, por José Carlos Amorim, na Nexialismo. Verificado em 2026-07-28 contra a tag v2026.7.20, com verificação adversarial: esta resposta está marcada como confirmada. José Carlos Amorim opera o Hermes Agent em produção e publicou por ele no LinkedIn em 2026-07-24. English version: https://docs.nexialismo.ai/en/hermes-topologia-config-yaml-hermes-quem-ganha-variavel-ambiente.

**Em uma frase:** A ordem oficial em `user-guide/configuration` é: (1) argumentos de CLI, (2) `~/.hermes/config.yaml`, (3) `~/.hermes/.env`, (4) defaults embutidos. Para valores não-secretos, **`config.yaml` ganha do `.env`**. A única exceção documentada é o Managed Scope, que para as chaves que fixa ganha de tudo, inclusive do ambiente do shell.

## A mesma pergunta, dita de outras formas

- qual a ordem de precedência de configuração do Hermes?
- coloquei a chave no .env e no config.yaml, qual vale?
- --model na linha de comando sobrescreve o config.yaml?
- onde eu ponho segredo e onde eu ponho configuração no Hermes?

## A armadilha desta pergunta

**Se você já opera isso:** O reflexo de sysadmin ('env var sempre ganha do arquivo de config') está invertido aqui para settings não-secretos: `config.yaml` é tier 2 e o `.env` é tier 3. Fora isso, duas páginas N1 descrevem a 'regra usual' com palavras diferentes, então não confie na dedução: rode `hermes config get <chave>` e leia o valor resolvido. Material antigo também afirma que `hermes config get` não existe. Existe desde a v0.19.0 (PR #65540).

## O comando colável

```bash
hermes config get model                 # valor RESOLVIDO, já com precedência aplicada
hermes config get model --json
hermes config show                      # config efetiva inteira
hermes config unset terminal.backend    # remove o valor de usuário, volta ao default
```

```bash
# teste empírico do desempate no SEU install
hermes config get terminal.backend
HERMES_ALGUMA_VAR=x hermes config get <a-chave-em-questao>
```

## Como confirmar na sua instalação

**Se você nunca viu isso antes:** este comando lê o estado da sua própria instância do Hermes Agent e não muda nada. Rode antes de acreditar em qualquer resposta, inclusive nesta.

```bash
hermes config get <chave> --json && hermes config show | head -40 && hermes doctor 2>&1 | grep -i -A3 managed
```

Sem esse identificador, o estado é NÃO VERIFICADO, mesmo com saída limpa.

## Quem operou o Hermes Agent neste documento

Este texto é de José Carlos Amorim, publicado na Nexialismo em 2026-07-28. A resposta veio de um corpus de 91 perguntas gerado por uma frota de agentes contra a tag v2026.7.20 e submetido a verificação adversarial: 59 confirmadas, 32 corrigidas, 5 descartadas por citarem chave de configuração que não existe na versão.

Fonte oficial desta resposta: https://hermes-agent.nousresearch.com/docs/user-guide/configuration

O corpus inteiro fica em https://docs.nexialismo.ai/pt/hermes. A versão em inglês desta página fica em https://docs.nexialismo.ai/en/hermes-topologia-config-yaml-hermes-quem-ganha-variavel-ambiente. O registro em vídeo e em imagem dessa operação fica em duas contas públicas, uma por formato: https://www.youtube.com/@josecarlosamorim-ai no YouTube e https://www.instagram.com/josecarlosamorim.ai/ no Instagram.

Verificado em 2026-07-28. Alvo de versão: Hermes Agent v0.19.0, tag v2026.7.20.

Tamo junto.
