imsg

Read and send iMessage and SMS messages via the macOS Messages.app CLI.

Updated Jun 19, 2026
One-click install
npx skills add https://github.com/AmirulAndalib/Vilvona-AI --skill imsg-amirulandalib
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: imsg
Source: https://github.com/AmirulAndalib/Vilvona-AI/tree/main/skills/imsg
Command: npx skills add https://github.com/AmirulAndalib/Vilvona-AI --skill imsg-amirulandalib

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires imsg.

What problem does it solve? It lets you list chats, read conversation history, and send iMessage or SMS texts from the command line on macOS, without opening Messages.app manually. ## Core Features & Use Cases - Chat Listing: Enumerate recent Messages.app conversations with JSON output for scripting. - History & Watching: Read message history by chat ID, including attachments, and watch for incoming messages in real time. - Sending Messages: Send texts with optional file attachments, choosing iMessage, SMS, or automatic service selection. - Use Case: A user asks to text a family member; 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'll be late to a specific phone number, and confirm the recipient before it runs the imsg send command.

Frequently Asked Questions about imsg

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, for example `imsg send --to "+14155551212" --text "Hello!"`. You can attach files with --file and force iMessage or SMS delivery with the --service flag.

How do I read iMessage history from the terminal?

Run `imsg history --chat-id <id> --limit 20 --json` to retrieve recent messages for a chat. Add --attachments to include attachment information, and use `imsg chats` first to find the chat ID.

What permissions does imsg need on macOS?

imsg requires macOS with Messages.app signed in, Full Disk Access granted to the terminal, and Automation permission for Messages.app to send messages. It only works on macOS (darwin).

Can imsg send SMS as well as iMessage?

Yes. Use `--service sms` to force SMS, `--service imessage` to force iMessage, or `--service auto` (the default) to let Messages.app decide based on the recipient.

When should I not use imsg for messaging?

Do not use imsg for Telegram, Signal, WhatsApp, Discord, or Slack messages, which have their own channels or skills. It also does not support group chat membership management or bulk messaging without explicit user confirmation.