imessage-bluebubbleslisted
Install: claude install-skill TechNickAI/hermes-skills
# iMessage via BlueBubbles
Use for ANY iMessage work on a Hermes fleet Mac -- sending, reading, searching messages,
or standing up the bridge itself. Also the right skill when iMessage is broken: `imsg`
failures (`permissionDenied`, `authorization denied (code 23)`, hangs with no output)
are the signal to move to this bridge.
## Why this exists
The older `imsg` CLI reads Apple's `~/Library/Messages/chat.db` directly. macOS governs
that file with TCC, and **TCC grants Full Disk Access to an exact interpreter path**. So
a routine `uv` Python patch bump silently revokes access and every scheduled iMessage
job dies with `authorization denied (code 23)` -- no Hermes version change, no config
change, no log warning. That happened on a-contact a real incident. Add the sandboxd
wedge (`imsg` hangs forever, zero output) and direct-database access is structurally
fragile. BlueBubbles moves the Apple-facing half into one long-running signed app that
holds its own permission grant. Hermes talks to it over loopback HTTP. **Python never
touches chat.db again, so a Python upgrade can no longer break iMessage.** That is the
whole point -- a structural fix, not a workaround. Hermes ships a first-class
BlueBubbles platform adapter (`gateway/platforms/bluebubbles.py`, registered as
`Platform.BLUEBUBBLES`), so the agent can _receive_ iMessages as a real channel, same as
Telegram.
## Two separate capabilities -- do not confuse them
| Capability | Mechanism