imessage

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

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

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: Retrieve recent conversations with imsg chats and view message history by chat ID, including attachment info. - Send Messages with Attachments: Send text and files to phone numbers or Apple IDs, with control over iMessage versus SMS delivery via the --service flag. - Watch for Incoming Messages: Monitor a conversation in real time using imsg watch. - 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 Full Disk Access for the terminal, granted in System Settings under Privacy, plus Automation permission for Messages.app when prompted. Messages.app must also be signed in with an Apple ID.

Can I force SMS instead of iMessage when sending texts?▼

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 iMessages via CLI?▼

The imsg CLI only works on macOS with Messages.app signed in and does not support group chat management like adding or removing members. Bulk messaging is discouraged and unknown recipients require explicit user approval.