hermes - 💡(How to fix) Fix [Bug]: WhatsApp bridge cannot be disabled in Docker + Telegram Forbidden error on Windows

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…

Error Message

Below are representative log snippets from docker logs -f hermes showing the WhatsApp bridge failures and the Telegram errors: [Whatsapp] Installing WhatsApp bridge dependencies... [Whatsapp] Failed to install dependencies: Command '['npm', 'install', '--silent']' timed out after 60 seconds [Whatsapp] Disconnecting (external bridge left running) WARNING gateway.run: ✗ whatsapp failed to connect [Whatsapp] Bridge process died (exit code 1) [Whatsapp] Check log: /opt/data/whatsapp/bridge.log ... WARNING gateway.run: Giving up reconnecting whatsapp after 20 attempts

WARNING gateway.platforms.telegram_network: [Telegram] Primary api.telegram.org connection failed (); trying fallback IPs 149.154.166.110 WARNING gateway.platforms.telegram_network: [Telegram] Primary api.telegram.org path unreachable; using sticky fallback IP 149.154.166.110

ERROR telegram.ext.Updater: Error while calling get_updates one more time to mark all fetched updates. Suppressing error to ensure graceful shutdown. ... httpx.ReadTimeout

ERROR gateway.platforms.telegram: [Telegram] Failed to send Telegram message: Forbidden: the bot can't send messages to the bot Traceback (most recent call last): File "/opt/hermes/gateway/platforms/telegram.py", line 1266, in send msg = await self._bot.send_message( ... telegram.error.Forbidden: Forbidden: the bot can't send messages to the bot

Root Cause

I’m running Hermes only via the Docker gateway image on Windows 11, and I don’t have the standalone hermes CLI installed on the host. Because of that I’m not able to run hermes debug share or /debug as suggested. All relevant environment info, config snippets, and log excerpts are included above in this issue instead.

Code Example

I’m running Hermes only via the Docker gateway image on Windows 11, and I don’t have the standalone hermes CLI installed on the host. Because of that I’m not able to run hermes debug share or /debug as suggested. All relevant environment info, config snippets, and log excerpts are included above in this issue instead.

---

Below are representative log snippets from docker logs -f hermes showing the WhatsApp bridge failures and the Telegram errors:
[Whatsapp] Installing WhatsApp bridge dependencies...
[Whatsapp] Failed to install dependencies: Command '['npm', 'install', '--silent']' timed out after 60 seconds
[Whatsapp] Disconnecting (external bridge left running)
WARNING gateway.run: ✗ whatsapp failed to connect
[Whatsapp] Bridge process died (exit code 1)
[Whatsapp] Check log: /opt/data/whatsapp/bridge.log
...
WARNING gateway.run: Giving up reconnecting whatsapp after 20 attempts

WARNING gateway.platforms.telegram_network: [Telegram] Primary api.telegram.org connection failed (); trying fallback IPs 149.154.166.110
WARNING gateway.platforms.telegram_network: [Telegram] Primary api.telegram.org path unreachable; using sticky fallback IP 149.154.166.110

ERROR telegram.ext.Updater: Error while calling `get_updates` one more time to mark all fetched updates. Suppressing error to ensure graceful shutdown.
...
httpx.ReadTimeout

ERROR gateway.platforms.telegram: [Telegram] Failed to send Telegram message: Forbidden: the bot can't send messages to the bot
Traceback (most recent call last):
  File "/opt/hermes/gateway/platforms/telegram.py", line 1266, in send
    msg = await self._bot.send_message(
    ...
telegram.error.Forbidden: Forbidden: the bot can't send messages to the bot
RAW_BUFFERClick to expand / collapse

Bug Description

Here’s a shorter, tech-focused summary you can paste into Bug Description:


On Windows 11 with Docker Desktop, I’m running nousresearch/hermes-agent via gateway run with C:\Users\User\.hermes mounted to /opt/data. After enabling WhatsApp in the initial setup, the WhatsApp bridge repeatedly fails to install its npm dependencies and times out on every gateway start. Even after explicitly disabling WhatsApp in both .env (removing or commenting WHATSAPP_ENABLED and related vars) and config.yaml (commenting out the whatsapp entry in platform_toolsets), the gateway still always starts the WhatsApp bridge and spams logs with:

  • Installing WhatsApp bridge dependencies...
  • Failed to install dependencies: Command '['npm', 'install', '--silent']' timed out after 60 seconds
  • Multiple Bridge process died (exit code 1) and Check log: /opt/data/whatsapp/bridge.log lines
  • Giving up reconnecting whatsapp after 20 attempts

In parallel, Telegram is configured with a BotFather token and my numeric user ID, but Hermes frequently logs network warnings and fails to send messages with Forbidden: the bot can't send messages to the bot, plus occasional ReadTimeout / TimedOut errors when polling get_updates. I’ve tried editing .env and config.yaml on the host and inside /opt/data in the container, restarting the container multiple times, and verifying that the WhatsApp settings are commented out, but the WhatsApp bridge still starts and fails on every boot, and Telegram still can’t send messages reliably.

Steps to Reproduce

1.On Windows 11 with Docker Desktop, pull and run nousresearch/hermes-agent using the Docker instructions, mounting C:\Users\User.hermes to /opt/data and running gateway run.

2.In the initial setup, enable WhatsApp in the gateway (self-chat) and complete the wizard.

3.Start the gateway container and observe that the WhatsApp bridge tries to install npm dependencies and fails with a 60s timeout on every start.

4.Edit /opt/data/.env and /opt/data/config.yaml (via host mount) to disable WhatsApp: comment out WhatsApp env vars and remove the whatsapp entry from platform_toolsets. Restart the container.

5.Observe that despite these changes, the gateway still starts the WhatsApp bridge on every boot, logs repeated npm timeout errors, and eventually gives up after 20 reconnect attempts.

6.Configure Telegram in .env with a valid BotFather token and your numeric user ID for TELEGRAM_ALLOWED_USERS and TELEGRAM_HOME_CHANNEL.

7.Start the gateway again and send messages to the bot; observe network warnings and ERROR gateway.platforms.telegram: [Telegram] Failed to send Telegram message: Forbidden: the bot can't send messages to the bot, along with occasional ReadTimeout / TimedOut errors during get_updates.

Expected Behavior

Hermes gateway should respect configuration changes and allow me to fully disable WhatsApp and run only Telegram (or other platforms) without attempting to start the WhatsApp bridge. After updating .env and config.yaml, the gateway should no longer install or run the WhatsApp bridge at all, and Telegram should be able to send and receive messages normally without permission or timeout errors.

Actual Behavior

Even after commenting out all WhatsApp-related settings in .env and removing the whatsapp entry from platform_toolsets in config.yaml, the gateway continues to start the WhatsApp bridge on every boot, repeatedly tries to run npm install --silent, and fails with 60‑second timeouts and multiple “Bridge process died (exit code 1)” messages before giving up after 20 attempts. At the same time, Telegram is configured with a valid bot token and my numeric user ID, but Hermes frequently logs network warnings and fails to send messages with ERROR gateway.platforms.telegram: [Telegram] Failed to send Telegram message: Forbidden: the bot can't send messages to the bot, along with occasional ReadTimeout / TimedOut errors when calling get_updates.

Affected Component

Gateway (Telegram/Discord/Slack/WhatsApp)

Messaging Platform (if gateway-related)

WhatsApp

Debug Report

I’m running Hermes only via the Docker gateway image on Windows 11, and I don’t have the standalone hermes CLI installed on the host. Because of that I’m not able to run hermes debug share or /debug as suggested. All relevant environment info, config snippets, and log excerpts are included above in this issue instead.

Operating System

Windows 11

Python Version

3.13.5

Hermes Version

0.13.0

Additional Logs / Traceback (optional)

Below are representative log snippets from docker logs -f hermes showing the WhatsApp bridge failures and the Telegram errors:
[Whatsapp] Installing WhatsApp bridge dependencies...
[Whatsapp] Failed to install dependencies: Command '['npm', 'install', '--silent']' timed out after 60 seconds
[Whatsapp] Disconnecting (external bridge left running)
WARNING gateway.run: ✗ whatsapp failed to connect
[Whatsapp] Bridge process died (exit code 1)
[Whatsapp] Check log: /opt/data/whatsapp/bridge.log
...
WARNING gateway.run: Giving up reconnecting whatsapp after 20 attempts

WARNING gateway.platforms.telegram_network: [Telegram] Primary api.telegram.org connection failed (); trying fallback IPs 149.154.166.110
WARNING gateway.platforms.telegram_network: [Telegram] Primary api.telegram.org path unreachable; using sticky fallback IP 149.154.166.110

ERROR telegram.ext.Updater: Error while calling `get_updates` one more time to mark all fetched updates. Suppressing error to ensure graceful shutdown.
...
httpx.ReadTimeout

ERROR gateway.platforms.telegram: [Telegram] Failed to send Telegram message: Forbidden: the bot can't send messages to the bot
Traceback (most recent call last):
  File "/opt/hermes/gateway/platforms/telegram.py", line 1266, in send
    msg = await self._bot.send_message(
    ...
telegram.error.Forbidden: Forbidden: the bot can't send messages to the bot

Root Cause Analysis (optional)

No response

Proposed Fix (optional)

No response

Are you willing to submit a PR for this?

  • I'd like to fix this myself and submit a PR

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING