iMessage/SMS CLI for listing chats, fetching history, watching conversations, and sending messages on macOS via the Messages app. Use when the user wants to send a text message, read iMessages, check recent texts, reply to a conversation, send an SMS, or interact with the Messages app from the terminal. Supports texting contacts by phone number or email, attaching files, and streaming incoming messages in real time.
Scanned 9/3/2026
Install to Claude Code
npx -y skills add elizaOS/eliza --skill imsg --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Imsg?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/elizaos-imsg)More formats (shields.io, HTML) on the badges page.
---
name: imsg
description: iMessage/SMS CLI for listing chats, fetching history, watching conversations, and sending messages on macOS via the Messages app. Use when the user wants to send a text message, read iMessages, check recent texts, reply to a conversation, send an SMS, or interact with the Messages app from the terminal. Supports texting contacts by phone number or email, attaching files, and streaming incoming messages in real time.
homepage: https://imsg.to
metadata:
{
"otto":
{
"emoji": "📨",
"os": ["darwin"],
"requires": { "bins": ["imsg"] },
"install":
[
{
"id": "brew",
"kind": "brew",
"formula": "steipete/tap/imsg",
"bins": ["imsg"],
"label": "Install imsg (brew)",
},
],
},
}
---
# imsg Actions
## Overview
Use `imsg` to read and send Messages.app iMessage/SMS on macOS.
Requirements: Messages.app signed in, Full Disk Access for your terminal, and Automation permission to control Messages.app for sending.
## Inputs to collect
- Recipient handle (phone/email) for `send`
- `chatId` for history/watch (from `imsg chats --limit 10 --json`)
- `text` and optional `file` path for sends
## Actions
### List chats
```bash
imsg chats --limit 10 --json
```
### Fetch chat history
```bash
imsg history --chat-id 1 --limit 20 --attachments --json
```
### Watch a chat
```bash
imsg watch --chat-id 1 --attachments
```
### Send a message
```bash
imsg send --to "+14155551212" --text "hi" --file /path/pic.jpg
```
## Notes
- `--service imessage|sms|auto` controls delivery.
- Confirm recipient + message before sending.
## Ideas to try
- Use `imsg chats --limit 10 --json` to discover chat ids.
- Watch a high-signal chat to stream incoming messages.
Is this your skill, or is something wrong with this listing? . Author removals are honored within 72 hours.
No comments yet. Be the first to comment!