imessage

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

Updated May 4, 2026
One-click install
npx skills add https://github.com/Junkfooooood/hermes-governance --skill imessage-junkfooooood
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: imessage
Source: https://github.com/Junkfooooood/hermes-governance/tree/main/skills/apple/imessage
Command: npx skills add https://github.com/Junkfooooood/hermes-governance --skill imessage-junkfooooood

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires imsg.

What problem does it solve? It lets you read chat history and send iMessage or SMS texts from the command line on macOS without manually opening Messages.app, enabling scripted and assistant-driven messaging workflows. ## Core Features & Use Cases - List and inspect chats: Run imsg chats --limit 10 --json to enumerate recent conversations with structured JSON output. - Read message history: Use imsg history --chat-id 1 --limit 20 --json to review past messages, optionally including attachment info. - Send texts with attachments: Use imsg send --to "+14155551212" --text "Hello!" with optional --file and --service imessage|sms flags. - Watch for new messages: Stream incoming messages with imsg watch --chat-id 1 --attachments. - Use Case: A user says "Text mom that I'll be late" — the assistant finds Mom's chat via imsg chats, confirms the recipient and message, then sends it with imsg send. ## Quick Start Ask the assistant to send an iMessage to a specific phone number with your message text, and confirm the recipient before it runs imsg send.

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: run `imsg send --to "+14155551212" --text "Hello!"` to send a text. Add `--file /path/to/image.jpg` for attachments and `--service imessage` or `--service sms` to force a specific delivery channel.

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. Add the `--attachments` flag to include attachment information in the output.

What permissions does imsg need on macOS?

imsg requires macOS with Messages.app signed in, Full Disk Access granted to your terminal in System Settings under Privacy, and Automation permission for Messages.app, which macOS prompts for on first use.

Can imsg send SMS as well as iMessage?

Yes, imsg supports both. 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.

What are the limitations of sending messages with imsg?

imsg cannot manage group chats such as adding or removing members, and it is not suited for bulk messaging. It only works on macOS with Messages.app configured, and sending to unknown numbers should always be confirmed with the user first.