Hermes "check gateway logs for diagnostics"
"Check gateway logs for diagnostics" isn't the real error - it's Hermes telling you the actual failure was written to the log, not the console. Open ~/.hermes/logs/gateway.log (tail -f it while you reproduce the problem) and read the last ERROR line. It's almost always one of five: auth failure, connection refused, rate limit, timeout, or model not found - each with its own fix.
Likely cause
This isn't the real error - it's Hermes telling you the actual failure was written to the gateway log, not the console. The full stack trace and the provider's response live in ~/.hermes/logs/gateway.log, and the real cause is almost always one of five things: an auth failure, a refused connection, a rate limit, a timeout, or a model-not-found.
The fix
- 1 Open the gateway log at ~/.hermes/logs/gateway.log and tail it live while you reproduce the error: tail -f ~/.hermes/logs/gateway.log.
- 2 Read the most recent line tagged ERROR or WARN - it names the real failure. Filter fast with grep -iE 'error|warn|401|429|refused|timeout' ~/.hermes/logs/gateway.log.
- 3 Fix by cause: auth failure (401 / invalid key) - correct the active provider key in ~/.hermes/.env; connection refused (ECONNREFUSED) - start the provider or Ollama and check the baseUrl; rate limit (429) - wait out the window or add a fallback key; timeout - raise the request timeout or switch to a smaller/faster model; model not found - fix the model id in config.yaml.
- 4 Restart the agent and re-check the log to confirm the error is gone.
tail -f ~/.hermes/logs/gateway.logHit a different error?
Paste any agent error and get the cause and fix in seconds.
Frequently asked questions
Where does Hermes store the gateway log?
On a standard install it's at ~/.hermes/logs/gateway.log. Tail it live with tail -f ~/.hermes/logs/gateway.log while you reproduce the error so you see the exact line for the failure. In Docker the same path lives inside the container, or under your mounted $HERMES_HOME/logs.
The console just says 'check gateway logs for diagnostics' with no detail. Why?
That's by design. Hermes keeps the console clean and writes the full stack trace and provider response to the gateway log instead. The one-line console message is only a pointer; the real cause - a 401, a 429, a refused connection, a timeout, or a bad model id - is in gateway.log.
I opened the log but there are dozens of lines. Which one matters?
Look for the most recent line tagged ERROR (or WARN) with a timestamp matching when you triggered the failure. Run grep -iE 'error|warn|401|429|refused|timeout' ~/.hermes/logs/gateway.log to jump straight to the five common failures instead of scrolling.
Stop firefighting agent errors
Decoding errors one at a time is the manual version of what BetterClaw automates. Run your OpenClaw agents hosted with managed models, retries and config validation built in.
Free plan available · Pro $49/mo · BYOK · 7-day money-back guarantee
