Independent third-party integration
Hermes Agent iMessage Without a Mac
Connect Hermes on Linux or a VPS. Install one Python package, check readiness, then prove the channel with a matching reply.
Managed no-Mac route
Start with one reply-backed Hermes thread
Claw Messenger handles the messaging infrastructure. Hermes stays on the Linux server, VPS, or local machine where it already runs. No Messages.app or Mac relay is required.
7-day trial · Card required
These steps follow the current hermes-imessage package documentation. Merge settings into your existing Hermes configuration instead of replacing the file.
Install
Install the package in the Hermes environment
The Hermes curl installer uses a uv-managed virtual environment. Point the package install at that environment:
uv pip install --python ~/.hermes/hermes-agent/venv "hermes-imessage>=0.1.2"Then confirm Hermes can see it:
uv pip list --python ~/.hermes/hermes-agent/venv | grep hermes-imessageConfigure
Enable the plugin and Hermes toolset
Enable the Claw Messenger toolset:
hermes tools enable hermes-claw-messengerThen merge these entries into ~/.hermes/config.yaml. Keep any plugins or platform toolsets already in the file.
plugins:
enabled:
- imessage
platform_toolsets:
claw_messenger:
- hermes-claw-messengerVerify
Add the API key, start Hermes, and check readiness
Put the API key in the Hermes environment file, then start the gateway:
echo 'CLAW_MESSENGER_API_KEY=cm_live_...' >> ~/.hermes/.env
hermes gateway startFrom the same environment, ask the readiness endpoint whether the controlled test is safe to run. Keep the key in the header, not the URL.
curl https://claw-messenger.onrender.com/api/agent/readiness -H "Authorization: Bearer ${CLAW_MESSENGER_API_KEY}"{"ready":true,"action":"send_controlled_test"}Continue only when ready is true. If it returns connect_agent, restart Hermes and check again.
Finish
Keep Hermes running through the reply
Send one plain message to the registered external phone number. Reply from that phone, then confirm the matching inbound message reaches Hermes.
Optional settings
Most users only need the API key. For stricter deployments, Hermes can also pass a server address, preferred service, allowed user list, and default home channel through environment variables.
| Setting | Use it when |
|---|---|
CLAW_MESSENGER_SERVER_URL | You need to point Hermes at a non-default Claw Messenger server. |
CLAW_MESSENGER_PREFERRED_SERVICE | You want to prefer iMessage, RCS, or SMS delivery. |
CLAW_MESSENGER_ALLOWED_USERS | You want to limit which phone numbers can reach the agent. |
CLAW_MESSENGER_HOME_CHANNEL | You want Hermes to use one default channel for replies. |
Hermes iMessage versus a Mac relay
A self-hosted Mac relay can work if you already own and maintain a Mac. For most Hermes users, the managed path is simpler because the agent can run where Hermes already runs.
| Choice | Best for | Trade-off |
|---|---|---|
| Hermes plus Claw Messenger | Server deployments, iMessage with RCS and SMS fallback. | Requires a Claw Messenger plan after the trial. |
| Self-hosted Mac relay | Teams that already run Apple hardware and want full local control. | Requires Mac uptime, permissions, relay maintenance, and local setup. |
| Plain SMS provider | Teams that do not need iMessage or RCS behavior. | No blue-bubble iMessage path and less native Apple messaging behavior. |
Common setup checks
- Confirm
hermes-imessageinstalls into the Hermes virtual environment. - Confirm
hermes tools enable hermes-claw-messengersucceeds. - Confirm
CLAW_MESSENGER_API_KEYis set in~/.hermes/.envbefore the gateway starts. - Send one plain message from Hermes to a phone you control.
- Reply from that phone and confirm the reply reaches Hermes.
When to use this
Use Hermes iMessage when the agent needs to live in real messaging threads: personal assistants, support triage, scheduling, lightweight operations, group updates, or alert follow-up. Use the lower-level REST API when you are not running Hermes and only need direct programmatic sends.
Frequently asked questions
Can Hermes Agent send and receive iMessage?
Yes. The hermes-imessage package gives Hermes tools for sending messages and routes matching replies back to the running agent through Claw Messenger.
Does Hermes Agent need a Mac for iMessage?
No. Hermes can keep running on Linux, a VPS, or another non-Mac environment while Claw Messenger handles the managed messaging connection.
Does the Hermes package support RCS and SMS?
Yes. The current package documents iMessage, RCS, and SMS support through the same Claw Messenger connection.
Prefer OpenClaw instead? Follow the OpenClaw iMessage setup guide.