imessage

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

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

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? It lets you read chat history and send iMessage or SMS texts from the command line on macOS without opening Messages.app manually. ## Core Features & Use Cases - List and inspect chats: Run imsg chats --limit 10 --json to enumerate recent conversations with structured JSON output. - Read message history: Use imsg history --chat-id <id> --limit 20 --json to review past messages, optionally including attachment info. - Send texts and attachments: Use imsg send --to <number> --text <message> with optional --file attachments and --service imessage|sms|auto selection. - Use Case: A user asks to text a contact that they will be late; the assistant finds the contact's chat with imsg chats, confirms the recipient and message, then sends via imsg send. ## Quick Start Ask the assistant to send an iMessage to a specific phone number with your message text, and confirm the recipient before it runs imsg send.

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: run `imsg send --to "+14155551212" --text "Hello!"` after installing it with `brew install steipete/tap/imsg`. You can attach files with `--file` and force iMessage or SMS delivery with `--service imessage` or `--service sms`.

How do I read iMessage history from the terminal?▼

Run `imsg history --chat-id <id> --limit 20 --json` to retrieve recent messages from a conversation as JSON. Add `--attachments` to include attachment information, and use `imsg chats --limit 10 --json` first to find the chat ID.

What permissions does imsg need on macOS?▼

imsg requires Full Disk Access for your terminal app, 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 imsg send SMS as well as iMessage?▼

Yes, imsg supports both. Pass `--service sms` to force SMS delivery, `--service imessage` to force iMessage, or `--service auto` (the default) to let 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 does not support group chat management such as adding or removing members. Bulk or mass messaging is discouraged and should always be confirmed with the user first.