imessage

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

Updated Sep 20, 2026
One-click install
npx skills add https://github.com/GreenyZA/neo-light --skill imessage-greenyza
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: imessage
Source: https://github.com/GreenyZA/neo-light/tree/main/.hermes-home/skills/apple/imessage
Command: npx skills add https://github.com/GreenyZA/neo-light --skill imessage-greenyza

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Reading and sending iMessage or SMS conversations from an agent workflow on macOS normally requires manual interaction with Messages.app. This Skill exposes chat listing, history retrieval, message sending, and live watching through the imsg CLI so messaging tasks can be handled programmatically. ## Core Features & Use Cases - Chat Discovery and History: List recent chats and read conversation history by chat ID, with optional attachment metadata, in JSON output. - Message Sending: Send text messages and file attachments to phone numbers or Apple IDs, with the option to force iMessage or SMS delivery. - Live Monitoring: Watch a specific chat for new incoming messages and attachments. - Use Case: A user asks to text a family member. The agent finds the matching chat with imsg chats, confirms the recipient and message content, then sends via imsg send 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 the send command, specifying the recipient phone number or Apple ID and message text. You can attach files with the file flag and force iMessage or SMS delivery with the service flag.

How to read iMessage history from terminal on Mac?▼

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

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 first prompted. Messages.app must also be signed in with an Apple ID.

Can I force SMS instead of iMessage when sending?▼

Yes, pass the service flag with 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. Sending requires macOS and cannot run on other platforms.