imessage

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

Updated May 13, 2026
One-click install
npx skills add https://github.com/superfhp/lumi-agent-body --skill imessage-superfhp
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: imessage
Source: https://github.com/superfhp/lumi-agent-body/tree/main/skills/apple/imessage
Command: npx skills add https://github.com/superfhp/lumi-agent-body --skill imessage-superfhp

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? It lets you read chat history and send iMessage or SMS texts from the command line on macOS without manually opening Messages.app, enabling scripted and assistant-driven messaging workflows. ## Core Features & Use Cases - List and inspect chats: Retrieve recent conversations with imsg chats --json and view message history by chat ID, including attachment info. - Send messages with attachments: Deliver text and files to phone numbers or Apple IDs, with optional forcing of iMessage or SMS service. - Watch for incoming messages: Monitor a chat in real time using imsg watch. - Use Case: A user says "Text mom that I'll be late" — the assistant finds Mom's chat, confirms the recipient and content, then sends the message via imsg send. ## Quick Start Ask the assistant to send an iMessage saying "Running 10 minutes late" to a specific phone number, 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: run `imsg send --to "+14155551212" --text "Hello!"` after installing it with `brew install steipete/tap/imsg`. You can attach files with `--file` and force iMessage or SMS with `--service`.

How do I read iMessage history from the terminal?▼

Run `imsg chats --limit 10 --json` to list recent conversations, then `imsg history --chat-id <id> --limit 20 --json` to view messages. Add `--attachments` to include attachment information.

What permissions does imsg need on macOS?▼

The terminal needs Full Disk Access granted in System Settings under Privacy, plus 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 `--service sms` to force SMS or `--service imessage` to force iMessage. The default `--service auto` lets Messages.app decide based on the recipient.

What are the limitations of the imsg CLI for messaging?▼

It only works on macOS with Messages.app signed in and does not support group chat management like adding or removing members. Bulk messaging is discouraged and always requires explicit user confirmation.