| name | bluebubbles |
| description | Use when you need to send or manage iMessages via BlueBubbles (recommended iMessage integration). Calls go through the generic message tool with channel="bluebubbles". |
| metadata | {"solanaos":{"emoji":"🫧","requires":{"config":["channels.bluebubbles"]}}} |
BlueBubbles Actions
Overview
BlueBubbles is SolanaOS's recommended iMessage integration. Use the message tool with channel: "bluebubbles" to send messages and manage iMessage conversations: send texts and attachments, react (tapbacks), edit/unsend, reply in threads, and manage group participants/names/icons.
Inputs to collect
target (prefer chat_guid:...; also +15551234567 in E.164 or user@example.com)
message text for send/edit/reply
messageId for react/edit/unsend/reply
- Attachment
path for local files, or buffer + filename for base64
If the user is vague ("text my mom"), ask for the recipient handle or chat guid and the exact message content.
Daemon Integration
BlueBubbles is a first-class channel in the SolanaOS Go daemon (pkg/channels/bluebubbles/). Configure via env vars:
BLUEBUBBLES_SERVER_URL=http://localhost:1234
BLUEBUBBLES_PASSWORD=your-server-password
BLUEBUBBLES_WEBHOOK_PATH=/webhooks/bb
BLUEBUBBLES_ALLOW_FROM=+17324063563
Or in your config JSON:
{
"channels": {
"bluebubbles": {
"enabled": true,
"server_url": "http://localhost:1234",
"password": "your-server-password",
"webhook_path": "/webhooks/bb",
"allow_from": ["+17324063563"]
}
}
}
The daemon polls for new inbound iMessages every 5 seconds and routes them through the same OODA agent loop as Telegram and X messages.
Clawd Channels Automation
BlueBubbles can also be used as a Clawd channel plugin for push-event automation. With channels enabled, iMessages arrive directly in your running Clawd session:
/plugin install imessage@Clawd-plugins-official
Clawd --channels plugin:imessage@Clawd-plugins-official
Clawd --channels plugin:telegram@Clawd-plugins-official plugin:imessage@Clawd-plugins-official
This lets you:
- Push iMessages into a running session so Clawd can react while you're away
- Use Clawd as a two-way iMessage bridge — it reads the event and replies back through BlueBubbles
- Forward alerts, CI results, and monitoring events via iMessage
Actions
Send a message
{
"action": "send",
"channel": "bluebubbles",
"target": "+17324063563",
"message": "hello from SolanaOS"
}
React (tapback)
{
"action": "react",
"channel": "bluebubbles",
"target": "+17324063563",
"messageId": "<message-guid>",
"emoji": "❤️"
}
Remove a reaction
{
"action": "react",
"channel": "bluebubbles",
"target": "+17324063563",
"messageId": "<message-guid>",
"emoji": "❤️",
"remove": true
}
Edit a previously sent message
{
"action": "edit",
"channel": "bluebubbles",
"target": "+17324063563",
"messageId": "<message-guid>",
"message": "updated text"
}
Unsend a message
{
"action": "unsend",
"channel": "bluebubbles",
"target": "+17324063563",
"messageId": "<message-guid>"
}
Reply to a specific message
{
"action": "reply",
"channel": "bluebubbles",
"target": "+17324063563",
"replyTo": "<message-guid>",
"message": "replying to that"
}
Send an attachment
{
"action": "sendAttachment",
"channel": "bluebubbles",
"target": "+17324063563",
"path": "/tmp/photo.jpg",
"caption": "here you go"
}
Send with an iMessage effect
{
"action": "sendWithEffect",
"channel": "bluebubbles",
"target": "+17324063563",
"message": "big news",
"effect": "balloons"
}
Notes
- Requires gateway config
channels.bluebubbles (serverUrl/password/webhookPath).
- Prefer
chat_guid targets when you have them (especially for group chats).
- BlueBubbles supports rich actions, but some are macOS-version dependent (for example, edit may be broken on macOS 26 Tahoe).
- The gateway may expose both short and full message ids; full ids are more durable across restarts.
- Developer reference for the underlying plugin lives in
extensions/bluebubbles/README.md.
- Go daemon implementation lives in
pkg/channels/bluebubbles/bluebubbles.go.
Ideas to try
- React with a tapback to acknowledge a request.
- Reply in-thread when a user references a specific message.
- Send a file attachment with a short caption.
- Set up Clawd channels for two-way iMessage automation while you're away from the terminal.