About bluebubbles
A skill for using OpenClaw’s BlueBubbles bridge to manage existing iMessage conversations, including rich message actions and attachments.
Key features
- 01Send and edit messages
- 02Add or remove tapbacks
- 03Reply to or unsend messages
- 04Send attachments and effects
- 05Manage group conversations
Use cases
- 01Send a file to an iMessage conversation
- 02React to or reply to a specific message
- 03Correct or unsend a sent message
Install
Copy the command and run it in a terminal.
$
npx skills add https:/ / github.com/ openclaw/ openclaw --skill bluebubblesAfter installing, type/bluebubblesin Claude Code to confirm it loaded.
Details
From the project READMEBlueBubbles Actions
Overview
BlueBubbles is OpenClaw's legacy iMessage bridge. Use the message tool with channel: "bluebubbles" for existing BlueBubbles-backed conversations that need attachments, tapbacks, edit/unsend, replies, or group management.
Inputs to collect
target(preferchat_guid:...; also+15551234567in E.164 or[email protected])messagetext for send/edit/replymessageIdfor react/edit/unsend/reply- Attachment
pathfor local files, orbuffer+filenamefor base64
If the user is vague ("text my mom"), ask for the recipient handle or chat guid and the exact message content.
Actions
Send a message
{
"action": "send",
"channel": "bluebubbles",
"target": "+15551234567",
"message": "hello from OpenClaw"
}
React (tapback)
{
"action": "react",
"channel": "bluebubbles",
"target": "+15551234567",
"messageId": "<message-guid>",
"emoji": "❤️"
}
Remove a reaction
{
"action": "react",
"channel": "bluebubbles",
"target": "+15551234567",
"messageId": "<message-guid>",
"emoji": "❤️",
"remove": true
}
Edit a previously sent message
{
"action": "edit",
"channel": "bluebubbles",
"target": "+15551234567",
"messageId": "<message-guid>",
"message": "updated text"
}
Unsend a message
{
"action": "unsend",
"channel": "bluebubbles",
"target": "+15551234567",
"messageId": "<message-guid>"
}
Reply to a specific message
{
"action": "reply",
"channel": "bluebubbles",
"target": "+15551234567",
"replyTo": "<message-guid>",
"message": "replying to that"
}
Send an attachment
{
"action": "sendAttachment",
"channel": "bluebubbles",
"target": "+15551234567",
"path": "/tmp/photo.jpg",
"caption": "here you go"
}
Send with an iMessage effect
{
"action": "sendWithEffect",
"channel": "bluebubbles",
"target": "+15551234567",
"message": "big news",
"effect": "balloons"
}
Notes
- Requires gateway config
channels.bluebubbles(serverUrl/password/webhookPath). - Prefer
chat_guidtargets 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 the BlueBubbles plugin package README.
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.
Comments
Markdown supported