imessage

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

6|Updated Jul 12, 2026
One-click install
npx skills add https://github.com/josoroma/AppLoop --skill imessage-josoroma
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: imessage
Source: https://github.com/josoroma/AppLoop/tree/main/.hermes/skills/apple/imessage
Command: npx skills add https://github.com/josoroma/AppLoop --skill imessage-josoroma

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? It lets an AI agent read chat history and send iMessage or SMS texts through macOS 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 versus 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 after approval. ## 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 `imsg send --to "+14155551212" --text "Hello!"` to send a message through Messages.app. Add `--file` to attach files and `--service imessage` or `--service sms` to force a delivery method.

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 in the output.

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 with `brew install steipete/tap/imsg`.

Can I force SMS instead of iMessage when sending a text?▼

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's capabilities.

What are the limitations of sending messages with imsg?▼

imsg only works on macOS with Messages.app configured, and it does not support group chat management like adding or removing members. Bulk messaging is discouraged, and sending to unknown numbers requires explicit user approval.