imessage

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

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

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This tool enables automating iMessage and SMS sending and retrieval from the macOS Messages.app via the imsg CLI, reducing manual tapping and repetitive tasks.

Core Features & Use Cases

  • List and view iMessage conversations from the command line.
  • Send messages to phone numbers or Apple IDs, including SMS fallback.
  • Automate messaging workflows, reminders, and notifications with scripts.

Quick Start

Run imsg chats --limit 10 --json to list chats.

Frequently Asked Questions about imessage

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I send iMessages from the command line on macOS?

Send iMessages from the command line by installing the imsg CLI tool on macOS, ensuring Messages.app is signed in, and executing commands with target phone numbers or Apple IDs to automate your messaging workflows.

Can I automate SMS and iMessage retrieval using a CLI tool?

Automate SMS and iMessage retrieval using the imsg CLI to list active chats and read conversation histories directly from the macOS Messages.app, returning structured JSON output for your automation scripts.

Does sending iMessages via CLI require full disk access on macOS?

Sending iMessages via CLI requires macOS with Messages.app signed in and the imsg tool installed. You must also grant optional full disk access and Messages.app automation permissions for the tool to read and send messages.

What is the best way to list iMessage conversations for automation scripts?

List iMessage conversations for automation scripts by running the imsg chats command with a specified limit and JSON output flag, pulling chat data directly from the macOS Messages.app database into your workflow.

Why is my macOS messaging automation not sending texts to phone numbers?

macOS messaging automation fails to send texts if Messages.app is not signed in, the imsg CLI is missing, or system permissions for full disk access and Messages.app automation are not granted to the executing terminal environment.

Can I use an iMessage CLI tool to send messages to Apple IDs instead of phone numbers?

Send messages to Apple IDs instead of phone numbers by passing the Apple ID email address as the target parameter to the imsg CLI, which supports both Apple ID and phone number routing with optional SMS fallback.