November 6, 2026 · 7 min read

Hermes Agent iMessage in Docker with no Mac: Photon and the alternatives

For Hermes in Docker with no Mac, Photon is the easiest start: it is built into Hermes, ships in the official image, and its shared-line tier is free. Pick the Claw Messenger plugin, a Sendblue or Inkbox plugin, or BlueBubbles when you need something the free shared line does not do, such as texting a new contact first.

Answer firstChecked 6 November 2026

The short answer

Start with Photon if people will text your agent first and a free shared line is fine:

hermes photon setup --phone +15551234567

Use the Claw Messenger plugin when the agent must message a registered contact first from one assigned number:

uv pip install --python ~/.hermes/hermes-agent/venv "hermes-imessage>=0.1.2"
Best for
Photon: a free, built-in start where users text first. Claw Messenger: an agent that starts threads, reads attachments, and sends scheduled messages without the gateway.
Not for
BlueBubbles if you have no Mac. Claw Messenger if you need a free tier or your personal Apple ID.

Claw Messenger publishes this page. We sell one of the products compared.

At a glance

Built into HermesPhoton and BlueBubbles
Needs no MacPhoton, Claw Messenger, Sendblue, Inkbox
Needs a MacBlueBubbles (always-on Mac signed into Messages)
Easiest in the official Docker imagePhoton: its sidecar dependencies ship in the image
Free iMessage tiersPhoton (shared lines, up to 10 users), Inkbox (shared, 3 recipients), BlueBubbles (open source, your Mac)
Agent can text a new contact firstClaw Messenger (registered numbers), Photon Business, Inkbox Startup's iMessage number, Sendblue Enterprise, BlueBubbles
Claw Messenger pluginhermes-imessage 0.1.2 on PyPI, public repo tin-computer/hermes-imessage
Checked6 November 2026

Hermes iMessage options compared

Checked 6 November 2026 against each provider's pricing page and the Hermes docs and plugin catalog. Prices are monthly, in U.S. dollars.

OptionHow Hermes connectsPublished priceWho texts firstWorth knowing
PhotonBuilt-in platform; hermes photon setupFree (up to 10 users); Pro $25 (up to 100 users); Business $250 per lineFree and Pro shared lines: the contact must text first. Business: the agent canShared lines can show different numbers to different contacts. Inbound attachments arrive as metadata only. Scheduled sends need the gateway running
Claw Messengerhermes-imessage Python plugin$5 for 250 messages; $15 for 2,000; $25 for 6,000; $50 for 15,000. 7-day trial, card requiredThe agent can message any registered number firstOne assigned sending number per account, not one per contact. iMessage with RCS and SMS fallback. Inbound attachments land as local files. Scheduled sends work without the gateway. 1 registered number on Base
SendblueCommunity plugin in the Hermes catalog (not maintained by Sendblue)Free sandbox; AI Agent $100 per line; Enterprise customSandbox and AI Agent: inbound-first. Enterprise: full outboundSandbox: 10 verified contacts, no outbound, no webhooks. AI Agent: 1,000 inbound contacts a day
InkboxInkbox's own plugin in the Hermes catalogFree; Developer $30 ($25 billed yearly); Startup $200 ($167 billed yearly)Shared iMessage: the contact must text first. Startup's iMessage number can start conversationsFree: 2,000 iMessages a month, 3 recipients at a time. Also covers email, voice, and SMS
BlueBubblesBuilt-in platform; server URL and passwordFree, open sourceEither side, as your Apple IDNeeds an always-on Mac signed into Messages, reachable from your Docker host

When Photon is the easier pick

  • You run the official Hermes Docker image. Photon is a built-in platform and its sidecar dependencies ship in the image. Setup is a device login and your phone number.
  • People will text the agent first. A personal assistant you message yourself fits the free shared line well.
  • You want to start free. No subscription is needed to send the first iMessage, and the free tier covers up to 10 users.

When to pick the Claw Messenger plugin instead

  • The agent starts the conversation. Reminders, follow-ups, and alerts go to registered numbers that never texted the line first.
  • You want one number per account, not per contact. Claw Messenger assigns the account a sending number instead of a different shared line for each contact.
  • The agent needs inbound files. Images, video, audio, and documents arrive as cached local files the agent's vision tools can read.
  • Cron jobs send while the gateway is down. hermes cron run opens a one-shot connection, delivers the message, and closes.
  • Contacts are not all on iMessage. Messages fall back to RCS or SMS automatically.

Claw Messenger is not the pick if you need a free tier, your own Apple ID, or high-volume cold outreach. Self-serve plans pause new conversations at 20 distinct recipients in a rolling 24 hours. See plans and limits.

Install the Claw Messenger plugin for Hermes

With Hermes installed by its standard installer on Linux or a VPS, install the package into the Hermes environment:

uv pip install --python ~/.hermes/hermes-agent/venv "hermes-imessage>=0.1.2"

Enable the toolset, add imessage under plugins.enabled in ~/.hermes/config.yaml, set the API key, and start the gateway:

hermes tools enable hermes-claw-messenger
echo 'CLAW_MESSENGER_API_KEY=cm_live_...' >> ~/.hermes/.env
hermes gateway start

The full steps, including the readiness check and the first reply-backed test, are in the Hermes no-Mac setup guide.

In the official Hermes Docker image

The image keeps its Python environment read-only, and its docs say extra dependencies belong in a new image build. Add hermes-imessage in an image you build FROM nousresearch/hermes-agent, or run Hermes with the standard installer on the Docker host. Your config and .env stay in the mounted /opt/data volume either way. If you would rather not build an image, Photon is the simpler route.

Set up Photon in Hermes

Run the gateway wizard and pick Photon iMessage, or run the Photon setup directly. It logs in through Photon, creates a project, registers your phone number, and prints the iMessage line to text:

hermes gateway setup
# or
hermes photon setup --phone +15551234567
hermes gateway start

Approve unknown senders with hermes pairing approve photon <CODE>, or list allowed numbers in PHOTON_ALLOWED_USERS. See the Hermes Photon docs.

BlueBubbles, if you have a Mac after all

Hermes's built-in BlueBubbles channel sends as the Apple ID signed into Messages on your Mac. It is free, but the Mac must stay on, and your Docker host must reach the BlueBubbles server by local network, a tunnel, or dynamic DNS. See Hermes BlueBubbles vs Claw Messenger.

Frequently asked questions

What is the easiest way to connect Hermes Agent in Docker to iMessage without a Mac?

Photon. It is built into Hermes, the official Docker image ships its sidecar dependencies, and the shared-line tier is free. Run hermes gateway setup or hermes photon setup, then start the gateway. Choose another option when the agent must text people first, should use one number per account rather than per contact, or must read inbound attachments.

Is Photon free for Hermes Agent?

Photon's free tier uses a shared pool of iMessage lines and covers up to 10 users. The Hermes docs list free quotas of 5,000 messages per server per day. Pro is $25/month for up to 100 users, and Business is $250 per line per month (Photon pricing, checked 6 November 2026).

Can Hermes text someone first over Photon's free tier?

Not a new contact. The Hermes Photon docs say a shared line can only message a number after that number has texted the line first. Photon's paid Business lines and Claw Messenger let the agent start the conversation.

Does BlueBubbles work with Hermes in Docker?

Yes, if you have a Mac. Hermes has a built-in BlueBubbles channel, but BlueBubbles Server must run on an always-on Mac signed into Messages, and Hermes must be able to reach it over the network.

Does the Claw Messenger plugin work in the official Hermes Docker image?

The plugin is a Python package that installs into the Hermes environment. The official image keeps that environment read-only, so add the package in an image you build from nousresearch/hermes-agent, or run Hermes with the standard installer on the Linux host. Photon needs neither step.

Sources

Let your Hermes agent start the thread

Start the 7-day trial (card required), install hermes-imessage, and finish when one matching reply reaches Hermes.

Start the 7-day trial

Try Claw Messenger free for 7 days — iMessage API for AI agents. No Mac required.