Windows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallOutdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchIf Hermes Agent reports that no messaging platforms are enabled, first check the adapter switch in ~/.hermes/config.yaml. Hermes starts only adapters whose platforms.<name>.enabled value is true; having a bot token in .env is not enough. Then confirm that the gateway is reading that Hermes home directory, restart it, and inspect the startup log for the configuration path it loaded.
Antihost offers VPS plans with one-click Hermes Agent, NVMe storage and a 14-day free trial.
The exact sentence “No Messaging Platforms Enabled” is not documented in the indexed official material, so treat it as a symptom rather than a confirmed, version-specific error code. The procedure below addresses the configuration and runtime conditions that prevent every messaging adapter from starting.
As an Amazon Associate I earn from qualifying purchases.
What “No Messaging Platforms Enabled” means
A Hermes gateway can have credentials available and still expose no messaging service. Each adapter is controlled by a per-platform flag beneath a top-level platforms: block. If every configured adapter is disabled, absent, or being read from a different configuration file, the gateway has nothing to start.
The enable flag is separate from credentials
Hermes separates ordinary configuration from secrets. Dotted settings, including platform switches, belong in config.yaml. Uppercase environment variables belong in a .env file. A valid token cannot override enabled: false, and setting enabled: true without the required secret or allow-list can still leave the adapter unable to connect.
#1 Best Overall
- Includes Raspberry Pi 5 with 2.4Ghz 64-bit quad-core CPU (8GB RAM)
- Includes 128GB Micro SD Card pre-loaded with 64-bit Raspberry Pi OS, USB MicroSD Card Reader
- CanaKit Turbine Black Case for the Raspberry Pi 5
- CanaKit Low Noise Bearing System Fan
- Mega Heat Sink - Black Anodized
Why the wording should not be treated as an official diagnostic
No indexed source confirms the exact wording, a specific release that emits it, or one universal cause. Different Hermes versions and launch methods may report the same underlying state with different text. Use the message to begin configuration checks, then rely on the gateway’s own startup and error logs for the definitive failure.
Fast recovery procedure
Work through these steps in order. They eliminate the most common causes without changing unrelated agent settings.
Free tools Windows power users keep installed
One-click scans. No signup required.
- Stop any extra gateway process. A second process can hold a platform connection, especially for Telegram. Check the terminals, service manager, container list, or process supervisor you use and leave only the intended gateway instance running.
- Find the Hermes home directory. On a native installation this is commonly
~/.hermes. Confirm that the directory contains theconfig.yamland the matching.env. Do not edit a file in your project directory if the gateway is launched with a different home or profile. - Enable at least one adapter. In
config.yaml, use the officialplatforms:hierarchy and set the selected platform’senabledvalue totrue. - Place secrets in
.env. Add the token and any required platform variables using the exact uppercase names documented for your adapter. Keep the file in the same Hermes home directory that the gateway reads. - Check allow-lists. If the adapter requires an allowed-user or allowed-chat setting, confirm that your account is represented in the expected format. For example, the documentation uses names such as
TELEGRAM_ALLOWED_USERSandDISCORD_ALLOWED_USERSfor environment variables. - Use the intended profile. If you maintain multiple Hermes profiles, launch the gateway with the profile containing the messaging configuration. A correct file in another profile is invisible to the process you actually started.
- Restart the gateway. Configuration changes are normally read at process startup. After restarting, read the first log lines and verify the loaded configuration path and the adapters that Hermes attempted to initialize.
Use the supported platforms: configuration layout
The documented layout places platform names under a top-level platforms key. A minimal example is:
platforms:
telegram:
enabled: true
discord:
enabled: false
Enable only the adapters you intend to run. YAML indentation is significant: telegram must be nested under platforms, and enabled must be nested under the platform name. A typo, tab character, or incorrectly indented key can cause Hermes to ignore the setting or fail to parse the file.
Rank #2
- Includes Raspberry Pi 4 4GB Model B with 1.5GHz 64-bit quad-core CPU (4GB RAM)
- Includes Pre-Loaded 32GB EVO+ Micro SD Card (Class 10), USB MicroSD Card Reader
- CanaKit Premium High-Gloss Raspberry Pi 4 Case with Integrated Fan Mount, CanaKit Low Noise Bearing System Fan
- CanaKit 3.5A USB-C Raspberry Pi 4 Power Supply (US Plug) with Noise Filter, Set of Heat Sinks, Display Cable - 6 foot (Supports up to 4K60p)
- CanaKit USB-C PiSwitch (On/Off Power Switch for Raspberry Pi 4)
Do not assume that a token automatically enables an adapter. The gateway evaluates the boolean switch first, then loads the platform’s credentials and policy settings. If you want to test one service, set that service to true and leave unrelated adapters disabled until the first connection succeeds.
Check the value, not just the key
Use the YAML boolean true, not a quoted string such as "true", unless your installed version explicitly documents string values. Remove duplicate platform blocks: in YAML, a later duplicate key may replace an earlier one, making an apparently enabled adapter end up disabled after parsing.
Keep secrets and allow-lists in .env
Hermes configuration guidance distinguishes environment variables from dotted YAML settings. Put platform tokens, user lists, and other UPPER_SNAKE_CASE values in .env; keep switches and structured options in config.yaml.
# ~/.hermes/.env
TELEGRAM_ALLOWED_USERS=your_user_id
DISCORD_ALLOWED_USERS=your_user_id
The variable names above illustrate the documented naming style. Use the exact token variable required by the adapter and your Hermes version rather than inventing a name. Do not paste secrets into an article, shell history, support ticket, or a world-readable file.
Rank #3
- Not including the Raspberry Pi 5 (8GB), the Crowpi advanced version comes with the Raspberry Pi 5
- ELECROW Black Case for the Raspberry Pi 5, CrowPi is equipped with a 9-inch HD touchscreen along with a camera; All the regular components used in DIY electronics are packed into the CrowPi development board, such as LCD, LED matrix, buzzer, light sensor, PIR sensor, ultrasonic sensor, IR sensor, etc
- Raspberry Pi Sensors: The Crowpi raspberry pi 5 programming kit is jam-packed with lots of buttons such as 19 different sensors in a tidy easy to use package; You don't have to wait and wire things
- Build Quality: Solid ABS shell and well made components in one place make it strong and convenient to travel
- Programming Lessons: This raspberry pi 5 learning kit ships with step by step instructions and provides 21 lessons to take you through identifying components reading code and running it in the terminal
Make sure the two files belong together
A frequent failure is editing ~/.hermes/.env while the gateway is reading a container-mounted directory, another operating-system account’s home, or a different profile. Compare the path shown in the startup log with the location of both files. If the log does not identify a path, start Hermes in the foreground so the initialization output remains visible.
Allow-lists can look like a disabled platform
An adapter may initialize successfully but ignore messages from users who are not allowed. That can be mistaken for a platform that never started. First confirm that the log says the adapter connected; only then troubleshoot user IDs, chat IDs, or permission syntax. Keep the allow-list as narrow as your use case requires.
Docker and configuration-path problems
Containerized deployments add another layer: the host directory must be mounted where the container expects the Hermes home, and the process must read the same path that contains your files.
GitHub issue #45792 describes a Docker deployment in which a host ~/.hermes directory was mounted at /opt/data, while the gateway could not find configured webhooks. The report says that setting HERMES_CONFIG=/opt/data/config.yaml did not resolve the behavior. That issue concerns configuration and state-path handling; it is not proof that the same condition produces the “No Messaging Platforms Enabled” message.
Rank #4
- Fully assembled for plug-and-play operation
- Includes Raspberry Pi 5 with 8GB RAM
- 256 GB PCIe Pi NVMe SSD (Pre-loaded with Pi 64-Bit OS)
- M.2 HAT+
- CanaKit Turbine Black Case for the Pi 5
What to verify inside the container
- The mounted directory contains both
config.yamland.env, with permissions that allow the Hermes process to read them. - The process’s home and working directory are the ones you expect, rather than a default home inside the image.
- The startup log names the configuration file it loaded and, where applicable, the state directory it opened.
- Environment variables are present inside the container, not only on the host. A host-side
.envfile is ineffective if it was never mounted or passed through. - Only one container or service is polling a given bot token.
If the log shows a different file than the one you edited, correct the volume mount, profile selection, or launch environment first. An explicit HERMES_CONFIG value may be supported by your image, but the issue above shows that changing that variable alone is not a guaranteed fix for path-related problems.
Profiles and service launch methods
Profiles allow separate credentials and settings. Starting a gateway without selecting the profile that contains your platforms: block can make a working configuration appear empty. Use the profile selector provided by your installed Hermes CLI or service definition, then confirm the selected profile’s home directory in the log.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
For interactive diagnosis, a guide lists hermes gateway run as the foreground command. The same guide lists hermes gateway install for installing a service and hermes gateway restart for applying changes. Command availability and flags can vary by release, so run the help command shipped with your installation before using a service command in production.
hermes gateway run
hermes gateway install
hermes gateway restart
Foreground mode is useful because parsing errors, missing variables, and adapter login failures remain in the terminal. Once the configuration is proven, a service installation can keep the gateway running, but remember that an old foreground process must be stopped before the service starts.
Best Value
- 【What you Get】You will get 1*Pi 5 8GB Single Board,1*RasTech Case,1*Active Cooler,1*Screwdriver,1*Installation instructions,12-month free warranty, lifetime service, 24-hour prompt and friendly response.
- 【More Connectors】There are two USB 3.0 ports(5Gbps simultaneously) and two USB 2.0 ports, which triple total bandwidth ,support any combination of up to two cameras or displays. Peak SD card performance is doubled through support for the SDR104 high-speed mode. It provides a smooth desktop experience for you. Offer Gigabit Ethernet and a PCIe interface, along with dual-band Wi-Fi and Bluetooth 5.0/BLE wireless capability. The RasTech Pi 5 Kit use the new 27W 5.1V 5A USB-C power connector.
- 【 Support Dual 4Kp60 Display 】Each of the two microHDMI sockets can control a 4K display at 60 Hertz, now support HDR, offering super HD video for media streaming projects. RPi 5 is the first RPi model that comes with a PCI Express port (PCIe 2.0 x1 with 500 MB/s) to attach SSDs (requires separate M.2 HAT).
- 【 Excellent Chips And Applications】Pi 5 is a full-size Pi computer using silicon built in-house at Pi. The RP1 “southbridge” provides the bulk of the I/O capabilities for Pi 5. Pi 5 is more friendly and convenient in the development of Internet of Things, Web development, machine identification, automatic control and other electronic equipment applications and network.
- 【 Faster CPU, Better GPU 】 Pi 5 features a Broadcom BCM2712 64-bit quad-core Arm Cortex-A76 processor running at 2.4GHz, it delivers a 2–3× increase in CPU performance relative to RaspberryPi 4. The 800MHz VideoCore VII GPU is compatible to OpenGL ES 3.1 and Vulkan 1.2, substantial uplift in graphics performance. Pi 5 Offers lightning-fast CPU speed, a PCI Express interface, a Real Time Clock (RTC) and a power button and runs significantly cooler than Pi 4.
Telegram’s single-instance restriction
Telegram allows a bot token to be polled by only one gateway at a time. If two Hermes processes use the same token, Telegram rejects concurrent polling. The result may look like a platform that failed to enable, even though the YAML switch is correct.
Resolve a Telegram conflict
- Stop every old Hermes process, container, or service that could use the token.
- Wait for the previous polling connection to close, then start one intended gateway.
- Read the startup log for a successful Telegram connection or an explicit conflict response.
- If you need separate environments, provision separate bot tokens rather than sharing one token between gateways.
Troubleshoot by the symptom in the startup log
| Observed behavior | Likely area | Next check |
|---|---|---|
| No adapters are listed as enabled | YAML hierarchy or wrong file | Confirm platforms.<name>.enabled: true and the loaded path. |
| Adapter is listed but authentication fails | Missing or malformed environment variable | Check the adapter’s exact token variable inside the same Hermes home or container. |
| Adapter connects but messages are ignored | Allow-list or chat permissions | Verify the documented user or chat ID format and that your account is included. |
| Webhook or state settings are missing in Docker | Mount, home, or state-path mismatch | Compare container paths and startup output; do not assume HERMES_CONFIG alone fixes the mount. |
| Telegram reports polling conflict | More than one gateway uses the token | Stop duplicate processes and run one gateway per bot token. |
| Changes have no effect | Process was not restarted or wrong profile selected | Restart the correct service and verify its profile and config path in the log. |
Configuration layouts to avoid mixing
Search results and third-party guides show conflicting examples, including top-level telegram: blocks and a gateways: schema. Those examples do not match the documented top-level platforms: layout. Mixing schemas can leave Hermes with no recognized enabled adapter. Start from the configuration structure documented for your installed release, then add only keys that release supports.
Likewise, do not copy a variable name from a different adapter or version. Environment-variable names are part of the adapter interface; an unrecognized name is equivalent to a missing secret.
Final verification checklist
- The gateway is running under the intended operating-system account, container, and profile.
- The startup log identifies the configuration path you edited.
- At least one platform is nested under
platforms:withenabled: true. - The matching
.envis in the same Hermes home directory and contains the adapter’s documented secret variables. - Allow-lists include the test account in the format expected by that adapter.
- The gateway was restarted after every configuration change.
- No second process is using the same Telegram bot token.
- The log shows an adapter initialization attempt, followed by either a connection or a specific authentication, permission, or network error.
When these checks pass, the original message should no longer be treated as a configuration mystery: the remaining failure will be narrowed to a named adapter, credential, permission, path, or transport error in the gateway log.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




