imsg

Send and read iMessage and SMS messages via the macOS Messages.app CLI.

1|Updated Jun 9, 2026
One-click install
npx skills add https://github.com/JEROME-PRAKASH-L/openclaw --skill imsg-jerome-prakash-l
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: imsg
Source: https://github.com/JEROME-PRAKASH-L/openclaw/tree/main/skills/imsg
Command: npx skills add https://github.com/JEROME-PRAKASH-L/openclaw --skill imsg-jerome-prakash-l

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? It lets you read iMessage/SMS conversation history and send texts directly from the terminal on macOS, without manually opening Messages.app. ## Core Features & Use Cases - List and Inspect Chats: Run imsg chats --limit 10 --json to enumerate recent conversations with structured JSON output. - Read History and Watch Threads: Use imsg history --chat-id 1 --json to review past messages, or imsg watch to monitor a thread for new incoming messages. - Send Messages with Attachments: Send text or files to phone numbers and Apple IDs, with control over iMessage vs SMS via the --service flag. - Use Case: A user says "Text mom that I'll be late" — the assistant finds Mom's chat, confirms the recipient and content, then runs imsg send --to "+1555123456" --text "I'll be late". ## Quick Start Ask the assistant to send an iMessage saying hello to a specific phone number, and confirm the recipient and message content before it is sent.

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: run `imsg send --to "+14155551212" --text "Hello!"` to send a message through Messages.app. Add `--file /path/to/image.jpg` to include an attachment, or `--service sms` to force SMS instead of iMessage.

How do I read iMessage history from the terminal?

Run `imsg history --chat-id 1 --limit 20 --json` to retrieve recent messages from a specific chat as JSON. First use `imsg chats --limit 10 --json` to find the chat ID you want to inspect.

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. Without these permissions, reading history or sending will fail.

Can imsg send SMS instead of iMessage?

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

When should I not use imsg for messaging?

Do not use imsg for Telegram, Signal, WhatsApp, Discord, or Slack messages, since those have dedicated channels. It also does not support group membership management, and bulk messaging should always be confirmed with the user first.