imessage

Send and read iMessages and SMS via the imsg CLI on macOS.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? It lets an AI agent send, read, and monitor iMessage and SMS conversations on macOS through the Messages.app without manual interaction with the GUI. ## Core Features & Use Cases - Send Messages: Deliver text and file attachments to phone numbers or Apple IDs, with control over iMessage versus SMS delivery. - Read History: List recent chats and retrieve conversation history with optional attachment metadata in JSON format. - Watch for Replies: Monitor a specific chat for incoming messages in real time. - 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 via imsg. ## Quick Start Ask the agent to send an iMessage to a specific contact or phone number with your message text, and approve the confirmation prompt 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 the send command, specifying the recipient phone number or Apple ID and message text. Install it via brew install steipete/tap/imsg, then run imsg send with the --to and --text flags.

How to read iMessage history from terminal on Mac?▼

Run imsg chats to list recent conversations, then use imsg history with a chat ID and limit to retrieve messages in JSON format. Add the --attachments flag to include attachment information.

Can I force SMS instead of iMessage when sending?▼

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

Why does imsg fail to access Messages on macOS?▼

imsg requires Full Disk Access granted to your terminal in System Settings under Privacy, plus Automation permission for Messages.app. Messages.app must also be signed in with an Apple ID.

What are the limitations of sending iMessages via CLI?▼

Group chat management like adding or removing members is not supported, and bulk messaging should always be confirmed with the user first. The tool only works on macOS with Messages.app configured.