imessage

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

5|2|Updated Mar 12, 2026
One-click install
npx skills add https://github.com/AjayRajan05/VoiceOS --skill imessage-ajayrajan05
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: imessage
Source: https://github.com/AjayRajan05/VoiceOS/tree/main/skills/bundled/community/apple/imessage
Command: npx skills add https://github.com/AjayRajan05/VoiceOS --skill imessage-ajayrajan05

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? It lets you send, read, and monitor iMessage and SMS conversations from the command line on macOS without manually opening Messages.app, enabling voice- or agent-driven messaging workflows. ## Core Features & Use Cases - Send Messages: Deliver text and file attachments to phone numbers or Apple IDs, with control over iMessage vs SMS delivery. - Read History: List recent chats and retrieve conversation history with optional attachment metadata in JSON format. - Watch for Replies: Monitor a specific chat for incoming messages in real time. - Use Case: Say "Text mom that I'll be late" and the assistant finds her chat, confirms the recipient and content with you, then sends the message via Messages.app. ## Quick Start Ask the assistant to send an iMessage to a contact, for example: "Text +14155551212 saying I'm running 10 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 command line on macOS?▼

Use the imsg CLI with the send command, specifying a recipient phone number or Apple ID and message text. You can attach files with the file flag and force iMessage or SMS delivery using the service option.

How do I read iMessage history from the terminal?▼

Run imsg chats to list recent conversations, then use imsg history with a chat ID to retrieve messages. Adding the json flag returns structured output, and the attachments flag includes file metadata.

What permissions does imsg need on macOS?▼

imsg requires Full Disk Access for your terminal app, granted in System Settings under Privacy, plus Automation permission for Messages.app when first prompted. Messages.app must also be signed in to an Apple ID.

Can I force SMS instead of iMessage when sending texts?▼

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's capabilities.

What are the limitations of sending iMessages via CLI?▼

The imsg CLI only works on macOS with Messages.app configured, and it does not support group chat management like adding or removing members. Bulk messaging is discouraged and should always be confirmed with the user first.