Updated August 12, 2026 · 6 min read

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.

1ConnectPackage + API key
2CheckReadiness returns true
3ProveOne 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

Start the 7-day trial

These steps follow the current hermes-imessage package documentation. Merge settings into your existing Hermes configuration instead of replacing the file.

01

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-imessage
02

Configure

Enable the plugin and Hermes toolset

Enable the Claw Messenger toolset:

hermes tools enable hermes-claw-messenger

Then 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-messenger
03

Verify

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 start

From 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.

04

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.

An accepted send is not the finish line.The setup is proven only when the matching reply reaches your Hermes agent.

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.

SettingUse it when
CLAW_MESSENGER_SERVER_URLYou need to point Hermes at a non-default Claw Messenger server.
CLAW_MESSENGER_PREFERRED_SERVICEYou want to prefer iMessage, RCS, or SMS delivery.
CLAW_MESSENGER_ALLOWED_USERSYou want to limit which phone numbers can reach the agent.
CLAW_MESSENGER_HOME_CHANNELYou 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.

ChoiceBest forTrade-off
Hermes plus Claw MessengerServer deployments, iMessage with RCS and SMS fallback.Requires a Claw Messenger plan after the trial.
Self-hosted Mac relayTeams that already run Apple hardware and want full local control.Requires Mac uptime, permissions, relay maintenance, and local setup.
Plain SMS providerTeams that do not need iMessage or RCS behavior.No blue-bubble iMessage path and less native Apple messaging behavior.

Common setup checks

  • Confirm hermes-imessage installs into the Hermes virtual environment.
  • Confirm hermes tools enable hermes-claw-messenger succeeds.
  • Confirm CLAW_MESSENGER_API_KEY is set in ~/.hermes/.env before 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.

Try Claw Messenger free for 7 daysiMessage API for AI agents. No Mac required.