imessage

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

Updated Jul 7, 2026
One-click install
npx skills add https://github.com/jamsdoescode/Erik-s-Portfolio --skill imessage-jamsdoescode
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: imessage
Source: https://github.com/jamsdoescode/Erik-s-Portfolio/tree/main/openclicky/AppResources/OpenClicky/OpenClickyBundledSkills/imessage
Command: npx skills add https://github.com/jamsdoescode/Erik-s-Portfolio --skill imessage-jamsdoescode

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? It lets you read chat history and send iMessages or SMS texts from the command line on macOS without manually opening Messages.app, while enforcing confirmation before any message is sent. ## Core Features & Use Cases - List and Search Chats: Retrieve recent conversations with imsg chats and filter by contact name using JSON output. - Read Message History: View conversation history by chat ID, optionally including attachment metadata. - Send Texts with Attachments: Send iMessage or SMS to phone numbers or Apple IDs, with optional file attachments and service selection (iMessage, SMS, or auto). - Use Case: A user says "Text mom that I'll be late" — the assistant finds Mom's chat, confirms the recipient and message text, then sends via imsg send. ## Quick Start Ask the assistant to send an iMessage to a specific contact with your message text, and confirm the recipient and content when prompted.

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 `imsg send --to "+14155551212" --text "Hello!"` after installing it via `brew install steipete/tap/imsg`. Messages.app must be signed in, and you can force iMessage or SMS with the `--service` flag.

How to read iMessage history from the terminal?

Run `imsg chats --limit 10 --json` to list recent conversations, then `imsg history --chat-id 1 --limit 20 --json` to view messages for a specific chat. Add `--attachments` 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 prompted. Messages.app must also be signed in with an Apple ID.

Can imsg send SMS instead of iMessage?

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

What are the limitations of sending messages with imsg?

imsg does not support group chat management such as adding or removing members, and bulk messaging requires explicit user confirmation. Every send requires prior approval showing the recipient and message text.