Hermes

Hermes "Auxiliary title generation failed: Connection error."

Last checked

The error

⚠ Auxiliary title generation failed: Connection error.

Auxiliary title_generation: connection error on auto (Connection error.), trying fallback

The first line is the CLI warning; the second is the agent log line quoted in issue #41745. Other variants end in HTTP 404, HTTP 400 or Request timed out.

After your first exchange Hermes makes a separate auxiliary call to name the session, and that call could not connect. Your chat still works; only the title failed. Either the title_generation block points at an endpoint that is unreachable, or idle connections are being dropped by a proxy. Pin it to a reachable model under auxiliary.title_generation in config.yaml, or set enabled: false.

Why it happens

Hermes runs side tasks (session titles, compression, vision, session search) through a separate auxiliary client configured under auxiliary.<task> in ~/.hermes/config.yaml. The title call is small and runs in the background, so when it fails Hermes prints a warning instead of failing your turn.

  1. A pinned provider or base_url that is not reachable. If auxiliary.title_generation.provider or base_url points at a local server that is off, a different host, or a provider with no credentials, the main model keeps working while every title call fails.
  2. Corporate proxies or load balancers dropping idle TLS connections. Auxiliary clients were built without the keepalive settings the main client used, so title, vision and compression calls failed with Connection error. (issue #41745, fixed on main in July 2026).
  3. Older auto routing bugs. In spring 2026 provider: auto could pick a broken fallback provider for auxiliary tasks instead of the main one (issue #17413, fixed by PR #17467).
  4. Endpoint shape mismatches show up as HTTP 404 instead of a connection error, for example the double /v1 path on Anthropic-mode custom providers (issue #19753).

The fix

  1. 1 Find the real failure: grep -i "title_generation" ~/.hermes/logs/agent.log and note the provider and endpoint it tried.
  2. 2 Open ~/.hermes/config.yaml and look at auxiliary.title_generation. Current builds route provider: auto to your main chat model, so if the block pins another provider or base_url, either fix it or set provider back to auto.
  3. 3 To use a cheap dedicated model instead, set provider and model explicitly, for example provider: openrouter with model: google/gemini-2.5-flash, or use hermes model and pick Configure auxiliary models.
  4. 4 If you are behind a corporate proxy, run hermes update so the auxiliary clients get the keepalive fix.
  5. 5 If you do not need generated titles, set auxiliary.title_generation.enabled: false. Manual titles still work with /title.
hermes config set auxiliary.title_generation.provider auto

The title_generation block

These are the keys the Hermes configuration reference documents for this task. Leave model empty to use the provider's default.

auxiliary:
  title_generation:
    enabled: true
    model_upgrade_enabled: true
    provider: "auto"
    model: ""
    base_url: ""
    api_key: ""
    timeout: 30

When base_url is set, Hermes ignores provider and calls that endpoint directly, using api_key or OPENAI_API_KEY. The special value main means use whatever provider the main agent uses. Setting model_upgrade_enabled: false keeps the instant title taken from your first message and never makes the model call, which removes this warning entirely.

Still failing?

  • Run hermes doctor; it resolves every routed auxiliary block through the same resolver and reports the ones that fail.
  • If the log shows HTTP 400 instead of a connection error, your endpoint is rejecting the request format (for example json_schema on DeepSeek), not the connection.
  • If vision and compression fail the same way, the problem is network or proxy level, not the title config.

Related errors

Full guideHermes Agent Not Working? Couldn't Start, Backend Exited and Every Other Fix (v0.21.5)

Hit a different error?

Paste any agent error and get the cause and fix in seconds.

Open the decoder

Frequently asked questions

Does this error break my conversation?

No. Title generation runs after the reply and in the background. The session keeps the instant title derived from your first message.

Why don't I see it in Telegram or Discord?

Hermes suppresses auxiliary model failures on chat platforms as operational noise. You will find them in the CLI, the TUI and the agent log.

Should titles use a cheaper model?

On an expensive reasoning model, yes. Titles are a few words; a small fast model is enough, and the docs recommend per-task overrides for exactly this.

Stop firefighting agent errors

Decoding errors one at a time is the manual version of what BetterClaw automates. Run your agents on a no-code AI agent platform with managed models, retries and config validation built in.

Free plan available · Pro $49/mo · BYOK · 7-day money-back guarantee