imessage

Send and read iMessage and SMS conversations via the imsg CLI on macOS.

1|Updated Jun 24, 2026
One-click install
npx skills add https://github.com/maopujie10-sys/Bailongma --skill imessage-maopujie10-sys
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: imessage
Source: https://github.com/maopujie10-sys/Bailongma/tree/main/skills/hermes-skills/apple/imessage
Command: npx skills add https://github.com/maopujie10-sys/Bailongma --skill imessage-maopujie10-sys

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? It lets an AI agent read and send iMessage/SMS messages on macOS through the Messages.app, without manual interaction with the Messages interface. ## Core Features & Use Cases - List and inspect chats: Enumerate recent conversations with imsg chats and view message history by chat ID, including attachment info. - Send messages with attachments: Deliver text and files to phone numbers or Apple IDs, with control over iMessage vs SMS delivery via the --service flag. - Watch for incoming messages: Stream new messages in real time using imsg watch for reactive workflows. - Use Case: A user says "Text mom that I'll be late" — the agent finds Mom's chat, confirms the recipient and content, then sends the message via imsg send. ## Quick Start Ask the agent to send an iMessage to a specific contact or phone number with your message text, and confirm the recipient before it sends.

Frequently Asked Questions about imessage

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I send an iMessage from the command line on macOS?

Use the imsg CLI with the send command: imsg send --to "+14155551212" --text "Hello!". You can attach files with --file and force iMessage or SMS delivery with the --service flag.

How do I read iMessage history from the terminal?

Run imsg chats --limit 10 --json to list recent conversations, then imsg history --chat-id <id> --limit 20 --json to view messages. Add --attachments to include attachment information.

What permissions does imsg need on macOS?

imsg requires Full Disk Access for the terminal (System Settings → Privacy → Full Disk Access) and Automation permission for Messages.app, granted when prompted. Messages.app must also be signed in.

Can I force SMS instead of iMessage when sending?

Yes, pass --service sms to force SMS delivery or --service imessage to require iMessage. The default --service auto lets Messages.app decide based on the recipient.

What are the limitations of the imsg CLI?

imsg only works on macOS with Messages.app signed in and cannot manage group chat membership. Bulk messaging is discouraged, and sending to unknown numbers requires explicit user approval.