imessage

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

Updated Jun 17, 2026
One-click install
npx skills add https://github.com/i-bebsi/hermes-agent --skill imessage-i-bebsi
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: imessage
Source: https://github.com/i-bebsi/hermes-agent/tree/main/hermes-config/skills/apple/imessage
Command: npx skills add https://github.com/i-bebsi/hermes-agent --skill imessage-i-bebsi

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? It lets you read iMessage/SMS conversation history and send text messages or attachments directly from the terminal on macOS, without manually opening Messages.app. ## Core Features & Use Cases - List and inspect chats: Retrieve recent conversations with imsg chats and view message history by chat ID, including attachment info. - Send messages and files: Send text or attachments to phone numbers or Apple IDs, with the option to force iMessage or SMS delivery. - Watch for incoming messages: Monitor a specific chat in real time with imsg watch. - Use Case: A user asks to text a contact that they will be late; the assistant finds the contact's chat, confirms the recipient and message, then sends it via imsg send. ## Quick Start Ask the assistant to send an iMessage saying you will be late to a specific contact, and confirm the recipient and message before it is sent.

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 with the file flag and force iMessage or SMS delivery with the service flag.

How do I read iMessage history from the command line?▼

Run imsg chats to list recent conversations, then use imsg history with a chat ID to view messages. Add the attachments flag to include attachment information and the json flag for structured output.

What permissions does imsg need on macOS?▼

imsg requires Full Disk Access for the terminal, granted in System Settings under Privacy, and Automation permission for Messages.app, which macOS prompts for on first use. Messages.app must also be signed in.

Can I force SMS instead of iMessage when sending a text?▼

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

What are the limitations of sending messages with imsg?▼

imsg only works on macOS with Messages.app configured, and it does not support group chat management such as adding or removing members. Bulk messaging is discouraged and sending always requires user confirmation of recipient and content.