imessage

Send and read iMessages and SMS via the imsg CLI on macOS.

115|9|Updated Aug 5, 2026
One-click install
npx skills add https://github.com/AtlasOmnia/donna-starter --skill imessage-atlasomnia
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: imessage
Source: https://github.com/AtlasOmnia/donna-starter/tree/main/skills/apple/imessage
Command: npx skills add https://github.com/AtlasOmnia/donna-starter --skill imessage-atlasomnia

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? It lets you send, read, and monitor iMessage and SMS conversations directly from the terminal on macOS, without manually opening Messages.app. ## Core Features & Use Cases - Send Messages: Deliver text or file attachments to phone numbers or Apple IDs, with optional forcing of iMessage or SMS service. - Read History & Chats: List recent chats and view conversation history in JSON, including attachment metadata. - Watch for Incoming Messages: Monitor a chat for new messages in real time. - Use Case: A user says "Text mom that I'll be late" — the assistant finds Mom's chat via imsg chats, confirms the recipient and content, then sends the message with imsg send. ## Quick Start Ask the assistant to send an iMessage to a specific contact or phone number with your message text, and confirm the recipient before it is sent.

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, for example: 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 history --chat-id <id> --limit 20 --json to view a conversation, and imsg chats --limit 10 --json to list recent chats and find chat IDs. Add --attachments to include attachment info.

What permissions does imsg need on macOS?

imsg requires macOS with Messages.app signed in, Full Disk Access granted to your terminal in System Settings, and Automation permission for Messages.app when prompted. Install it via brew install steipete/tap/imsg.

Can imsg force SMS instead of iMessage?

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.

When should I not use the imsg CLI for messaging?

Avoid it for Telegram, Discord, Slack, or WhatsApp messages, group chat membership management, bulk messaging without user confirmation, and persistent gateway connections, which belong to the BlueBubbles platform adapter instead.