imessage

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

Updated Aug 21, 2026
One-click install
npx skills add https://github.com/TylerSimons1127/vibe --skill imessage-tylersimons1127
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: imessage
Source: https://github.com/TylerSimons1127/vibe/tree/main/skills/apple/imessage
Command: npx skills add https://github.com/TylerSimons1127/vibe --skill imessage-tylersimons1127

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? It lets you send, read, and monitor iMessage and SMS conversations directly from the terminal on macOS without opening Messages.app manually. ## Core Features & Use Cases - Send Messages: Deliver text or file attachments to phone numbers or Apple IDs, with the option to force iMessage or SMS delivery. - Read History: List recent chats and view conversation history, including 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 assistant finds Mom's chat, confirms the recipient and message, then sends it via imsg send. ## Quick Start Ask the assistant to send an iMessage to a contact, for example: "Text +14155551212 that I'm running 15 minutes late."

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 terminal on macOS?▼

Use the imsg CLI with the send command: `imsg send --to "+14155551212" --text "Hello!"`. You can attach files with `--file` and force iMessage or SMS delivery with the `--service` flag.

How to read iMessage history from the command line?▼

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.

Does imsg work on Linux or Windows?▼

No, imsg only works on macOS because it interfaces with Messages.app. It also requires Messages.app to be signed in and the terminal to have Full Disk Access and Automation permissions.

Why does imsg fail to read messages on macOS?▼

Failures usually come from missing permissions. Grant Full Disk Access to your terminal in System Settings → Privacy, approve the Automation prompt for Messages.app, and confirm Messages.app is signed in.

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.

What are the limitations of the imsg CLI?▼

imsg cannot manage group chats such as adding or removing members, and it is not suited for bulk messaging. Other platforms like Telegram, Discord, Slack, or WhatsApp require their own gateway channels.