What you see
You message your Hermes bot and nothing comes back. Or it replies that you're unauthorized, or it answers direct messages but ignores a group, or it worked yesterday and stopped after a restart or update.
Likely causes
A silent bot can fail at process health, inbound transport, authorization, trigger or session routing, model or tool execution, or outbound delivery. Check each stage with logs and one harmless private message from an authorized account. An authorization failure can look like an outage, so read the log before reinstalling. Use messaging platforms to find the route-specific guide.
- The gateway process isn't running, or is stuck in a degraded state.
- Your user ID isn't on the platform allowlist and you haven't been paired. The gateway denies unknown users by default.
- In Telegram groups, privacy mode is on, or telegram.require_mention is filtering messages that don't mention the bot.
- The platform adapter is disabled in
config.yaml(platforms.<name>.enabled: false overrides credentials in .env), or the circuit breaker paused it. - The bot token is invalid or revoked, or the same token is being used by another profile's gateway.
- Both a user and a system service are installed, causing confusing behaviour.
Check this first
hermes gateway status, thenhermes gateway startif it isn't running.- tail -50
~/.hermes/logs/gateway.log(on Linux, journalctl --user -u hermes-gateway -f). hermes statusfor a one-screen summary of model, gateway and platforms.hermes pairing listshows pairing state. An allowlist is a list of approved users or chats; a restrictive policy may suppress new DM codes. Do not assume a missing code means that the gateway is down.- For Telegram, confirm your numeric user ID with @userinfobot and compare it to
TELEGRAM_ALLOWED_USERSin~/.hermes/.env. /platformlist from any working chat to see whether an adapter is paused.- Email: check
EMAIL_AUTHSERV_IDagainst the receiving server's topmost Authentication-Results header and confirm the From domain passed authentication. An allowed address alone does not authenticate the sender. Keep sender authentication enabled. - SMS:
SMS_WEBHOOK_URLmust exactly match the public URL configured in Twilio so signature validation can succeed. Check signature errors without disabling validation. - Slack: check scopes, the event subscription for the conversation type and channel membership. Reinstall the app after changing scopes or events. One-to-one DMs use
message.im; channels also need their channel events and history scopes. - WhatsApp Cloud API: check the App Secret, exact verify-token match, current public callback URL and
messagessubscription. Keep request signature validation enabled. Read How to set up Hermes Agent on WhatsApp with the Business Cloud API. - BlueBubbles: the server must be able to call the Hermes webhook back. A successful Hermes-to-BlueBubbles REST check does not prove reverse reachability. Inspect webhook registration and the explicit adapter enabled setting, then send one allowed message from another device.
- Open WebUI: check
/v1/modelsusing the profile's bearer key from the Open WebUI server's network. A green connection check or/healthresponse alone does not prove model listing or agent replies. See How to set up Hermes Agent with Open WebUI and the API server.
Fix
- Not running or 'Degraded': restart with
hermes gateway restart, which drains active turns first. - Unauthorized: inspect the relevant allowlist and approved pairings. Add only the intended user's ID, or approve a code that was actually issued with
hermes pairing approve <platform> <code>. Codes expire after one hour. Explicit allowlists can suppress new prompts; keep allow-all disabled. - Ignored in Telegram groups: turn off Group Privacy via @BotFather (
/mybots, Bot Settings, Group Privacy) or make the bot an admin, then remove and re-add the bot, because Telegram caches the privacy state at join time. If require_mention is on, mention the bot or reply to it. - Paused platform: check the log and the provider's status page, then
/platformresume <name>; it doesn't resume on its own. - Credentials present but adapter won't start: remove platforms.<name>.enabled: false from
config.yaml. - Token problems: replace a revoked or invalid token using the platform's official process, update the active profile's .env and restart the gateway. Give each profile its own bot credentials. Keep tokens out of logs you share, screenshots and Git.
- macOS gateway can't find tools or LAN devices: rerun
hermes gateway installto refresh the launchd service. - WSL disconnects: when systemd is unavailable or unreliable, the FAQ documents foreground
hermes gatewayor tmux as a workaround. tmux can survive terminal disconnection, but cannot survive WSL or host termination. Check WSL startup and host power behavior before relying on it for availability. - Windows crash: Task Scheduler supervises the launcher rather than later gateway crashes. Check
hermes gateway statusand usehermes gateway startif the process has stopped. A registered task alone does not establish a running bot. - Discord privileged-intent error: enable Message Content Intent. Server Members Intent is needed for username or role allowlists, rather than every numeric-ID-only setup. Check server-channel mention rules separately from authorization.
If it still fails
Run the gateway in the foreground with hermes gateway so you can inspect one message from an authorized account. If nothing appears, check adapter state and inbound transport before assuming the model is at fault. Telegram webhook mode needs a reachable public HTTPS TELEGRAM_WEBHOOK_URL and TELEGRAM_WEBHOOK_SECRET; polling mode does not. Slack Socket Mode and the WhatsApp bridge need outbound access, while WhatsApp Cloud API needs a public webhook. A webhook is an HTTP callback from another service; a public HTTPS URL is an internet-reachable encrypted address. A tunnel can forward that address to the local listener.
Proxy connection errors can sometimes be addressed with gateway.trust_env: false, after checking the log and required proxy setup. If messages arrive but replies do not, follow Hermes Agent task finished but no message arrived. Inspect the served profile set before creating another gateway or service; current multiplexing may already own the bot. Keep only the intended service topology.
If the host is off, asleep, offline or WSL has stopped, Hermes cannot process messages or scheduled jobs. Restarting the app on your phone does not restart the host. Protect credentials during diagnosis and use a single permitted private destination for checks.
Keep it running
The bot is silent while its computer sleeps or is switched off. Keep the Hermes host awake and online whenever you need replies. A background service does not prevent sleep.
Official docs
Reviewed Oct 29, 2026 against the official Hermes docs.
Official Hermes gateway troubleshooting docs (opens in a new tab)
Related guides
- All messaging platforms
- Hermes Agent messaging gateway explained
- Hermes Agent task finished but no message arrived
- Hermes Agent profiles: separate agents for separate jobs
- How to set up Hermes Agent on Telegram
- How to set up Hermes Agent on Discord
- How to set up Hermes Agent on WhatsApp with the Baileys bridge
- How to set up Hermes Agent on WhatsApp with the Business Cloud API
- How to set up Hermes Agent with Open WebUI and the API server
Primary sources
- Messaging Gateway (official docs) (opens in a new tab)
- Telegram setup (official docs) (opens in a new tab)
- FAQ and Troubleshooting (official docs) (opens in a new tab)
- Security (official docs) (opens in a new tab)
- Gateway authorization and pairing policy (pinned source) (opens in a new tab)
- Discord setup (opens in a new tab)
- Email sender authentication (opens in a new tab)
- SMS signature validation (opens in a new tab)
- Slack setup (opens in a new tab)
- WhatsApp Business Cloud API (opens in a new tab)
- BlueBubbles setup (opens in a new tab)
- Open WebUI setup (opens in a new tab)
- API server authentication (opens in a new tab)
- Multi-profile gateway operation (opens in a new tab)
Spotted something wrong or out of date? Tell us on X at @HermesWatcher (opens in a new tab) and we will fix it.
New Hermes Agent updates every day on X. Follow @HermesWatcher
Browse all troubleshooting guides or search by symptom. For hands-on help, see services.