Hermes Agent bot not responding in your chat app

What to check when your Hermes bot on Telegram, Discord or another chat app stays silent, replies 'unauthorized', or works in DMs but not in groups.

Docs-backed5 min read · Reviewed Oct 29, 2026

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, then hermes gateway start if it isn't running.
    • tail -50 ~/.hermes/logs/gateway.log (on Linux, journalctl --user -u hermes-gateway -f).
    • hermes status for a one-screen summary of model, gateway and platforms.
    • hermes pairing list shows 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_USERS in ~/.hermes/.env.
    • /platform list from any working chat to see whether an adapter is paused.
    • Email: check EMAIL_AUTHSERV_ID against 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_URL must 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 messages subscription. 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/models using the profile's bearer key from the Open WebUI server's network. A green connection check or /health response 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 /platform resume <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 install to refresh the launchd service.
    • WSL disconnects: when systemd is unavailable or unreliable, the FAQ documents foreground hermes gateway or 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 status and use hermes gateway start if 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)

          Primary sources

          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

          Not your problem?

          Browse all troubleshooting guides or search by symptom. For hands-on help, see services.

          Liked this guide?

          Every Hermes Agent change that matters, explained in five minutes.

          We'll only use your email to send the newsletter. Unsubscribe anytime. Privacy