imessage

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

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

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires imsg.

What problem does it solve? It lets you send, read, and monitor iMessage and SMS conversations on macOS directly from the terminal, without manually opening Messages.app. ## Core Features & Use Cases - Send Messages: Deliver text or file attachments to phone numbers or Apple IDs, with the option to force iMessage or SMS delivery. - Read History & Chats: List recent chats and view conversation history, including attachment metadata, in JSON output. - Watch for Replies: Monitor a specific chat for incoming messages in real time. - Use Case: A user asks to text a family member. The agent finds the contact's chat with imsg chats, confirms the recipient and message, then sends it with imsg send. ## Quick Start Ask the agent to send an iMessage saying you will be late to a specific contact, and it will find the chat, confirm the details, and send the message.

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 macOS terminal?▼

Use the imsg CLI with the send command, specifying the recipient phone number or Apple ID and the message text. You can also attach files or force delivery as iMessage or SMS using the service flag.

How to read iMessage history from the command line?▼

Run imsg history with a chat ID and a message limit to retrieve conversation history as JSON. Add the attachments flag to include attachment information, and use imsg chats first to find the correct chat ID.

Does imsg work on Linux or Windows?▼

No, imsg only works on macOS because it integrates with Messages.app. The system must have Messages.app signed in, and the terminal needs Full Disk Access and Automation permission for Messages.

Why does imsg fail to read messages on macOS?▼

Failures usually come from missing permissions. Grant Full Disk Access to your terminal in System Settings under Privacy, approve the Automation prompt for Messages.app, and confirm Messages.app is signed in.

Can I force SMS instead of iMessage with imsg?▼

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

What are the limitations of sending iMessages via CLI?▼

Group chat management such as adding or removing members is not supported, and bulk messaging should always be confirmed with the user first. Recipients and message content must be verified before sending.