imessage

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

Updated Jul 3, 2026
One-click install
npx skills add https://github.com/CHENHUI-X/toolbox --skill imessage-chenhui-x
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: imessage
Source: https://github.com/CHENHUI-X/toolbox/tree/main/official-skills/apple/imessage
Command: npx skills add https://github.com/CHENHUI-X/toolbox --skill imessage-chenhui-x

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires imsg.

What problem does it solve? It lets you read chat history and send iMessage or SMS texts from the terminal on macOS without manually opening Messages.app, enabling scripted and AI-assisted messaging workflows. ## 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 1 --limit 20 --json to review past messages, optionally including attachment info. - Send texts with attachments: Use imsg send --to "+14155551212" --text "Hello!" with optional --file and --service imessage|sms flags. - Watch for incoming messages: Stream new messages in real time with imsg watch --chat-id 1. - 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 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 terminal on macOS?

Install the imsg CLI with brew install steipete/tap/imsg, then run imsg send --to "+14155551212" --text "Hello!". 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 command line?

Use imsg history --chat-id 1 --limit 20 --json to retrieve recent messages for a chat as structured JSON. Add --attachments to include attachment information, and find chat IDs first with imsg chats --limit 10 --json.

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 under Privacy, and Automation permission for Messages.app, which macOS prompts for on first use.

Can imsg send SMS instead of iMessage?

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

What are the limitations of the imsg CLI?

imsg only works on macOS with Messages.app configured and cannot manage group chat membership such as adding or removing participants. Bulk or mass messaging is discouraged and should always be confirmed with the user first.