
Imsg
- 2.5k installs
- 385k repo stars
- Updated August 3, 2026
- steipete/clawdis
imsg is an OpenClaw skill that uses the imsg CLI to list, read, watch, and send iMessage or SMS via macOS Messages.app.
About
The imsg skill wraps the imsg CLI for listing chats, reading history, watching new messages, and sending iMessage or SMS through macOS Messages.app. It applies only when the user explicitly asks for iMessage or SMS, not for Telegram, Signal, WhatsApp, Discord, or Slack channels that have dedicated tools. Requirements include macOS, Messages.app signed in, Full Disk Access for the terminal, and Automation permission for sending. Common commands cover imsg chats with JSON output, history by chat id with optional attachments, watch mode, and send with text, file attachments, and service flags for imessage, sms, or auto. Safety rules require confirming recipient and message content before send, avoiding unknown numbers without approval, verifying attachment paths, and self rate limiting to prevent spam. Bulk messaging always needs user confirmation first. The example workflow finds a contact chat, confirms the destination, then sends after approval.
- macOS-only imsg CLI for chats, history, watch, and send commands.
- Explicit channel routing: iMessage or SMS only, not Telegram or Slack.
- Service flags for imessage, sms, or auto bubble selection.
- Safety rules for recipient confirmation and attachment verification.
- Example workflow to find a contact chat before sending text.
Imsg by the numbers
- 2,486 all-time installs (skills.sh)
- Ranked #167 of 2,719 Automation & Workflows skills by installs in the Skillselion catalog
- Security screen: MEDIUM risk (skills.sh audit)
- Data as of Aug 3, 2026 (Skillselion catalog sync)
imsg capabilities & compatibility
- Capabilities
- chat listing with json output and limits · history and watch modes with attachment metadata · send text and file attachments with service sele · channel guardrails against wrong messaging tools · recipient and content confirmation safety workfl · brew install metadata for imsg binary
- Use cases
- orchestration · email
- Platforms
- macOS
- Runs
- Runs locally
- Pricing
- Free
What imsg says it does
Bulk/mass messaging -> always confirm with user first
npx skills add https://github.com/steipete/clawdis --skill imsgAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 2.5k |
|---|---|
| repo stars | ★ 385k |
| Security audit | 1 / 3 scanners passed |
| Last updated | August 3, 2026 |
| Repository | steipete/clawdis ↗ |
How can an agent safely read or send iMessage and SMS on macOS without using the wrong chat channel tool?
Read and send iMessage or SMS on macOS through the imsg CLI backed by Messages.app.
Who is it for?
macOS agent setups with imsg installed that need Messages.app read or send automation.
Skip if: Skip for Telegram, WhatsApp, Discord, Slack, group management, or bulk messaging without explicit approval.
When should I use this skill?
User asks to text someone, read iMessage history, list recent chats, or send SMS on macOS.
What you get
Confirmed chat lookup, sent message or retrieved history JSON, with explicit user approval before outbound sends.
- chat listings
- message history output
- sent iMessage or SMS
By the numbers
- Requires imsg binary installable via steipete/tap/imsg Homebrew formula
- Supports darwin only per skill metadata
Files
imsg
Use imsg to read and send iMessage/SMS via macOS Messages.app.
When to Use
Use when:
- User explicitly asks to send iMessage or SMS
- Reading iMessage conversation history
- Checking recent Messages.app chats
- Sending to phone numbers or Apple IDs
When NOT to Use
Do not use when:
- Telegram messages -> use
messagetool withchannel:telegram - Signal messages -> use Signal channel if configured
- WhatsApp messages -> use WhatsApp channel if configured
- Discord messages -> use
messagetool withchannel:discord - Slack messages -> use
slackskill - Group chat management (adding/removing members) -> not supported
- Bulk/mass messaging -> always confirm with user first
- Replying in current conversation -> just reply normally (OpenClaw routes automatically)
Requirements
- macOS with Messages.app signed in
- Full Disk Access for terminal
- Automation permission for Messages.app (for sending)
Common Commands
List Chats
imsg chats --limit 10 --jsonView History
# By chat ID
imsg history --chat-id 1 --limit 20 --json
# With attachments info
imsg history --chat-id 1 --limit 20 --attachments --jsonWatch for New Messages
imsg watch --chat-id 1 --attachmentsSend Messages
# Text only
imsg send --to "+14155551212" --text "Hello!"
# With attachment
imsg send --to "+14155551212" --text "Check this out" --file /path/to/image.jpg
# Specify service
imsg send --to "+14155551212" --text "Hi" --service imessage
imsg send --to "+14155551212" --text "Hi" --service smsService Options
--service imessage- Force iMessage (requires recipient has iMessage)--service sms- Force SMS (green bubble)--service auto- Let Messages.app decide (default)
Safety Rules
1. Always confirm recipient and message content before sending 2. Never send to unknown numbers without explicit user approval 3. Be careful with attachments - confirm file path exists 4. Rate limit yourself - don't spam
Example Workflow
User: "Text mom that I'll be late"
# 1. Find mom's chat
imsg chats --limit 20 --json | jq '.[] | select(.displayName | contains("Mom"))'
# 2. Confirm with user
# "Found Mom at +1555123456. Send 'I'll be late' via iMessage?"
# 3. Send after confirmation
imsg send --to "+1555123456" --text "I'll be late"Related skills
Forks & variants (1)
Imsg has 1 known copy in the catalog totaling 16 installs. They canonicalize to this original listing.
- beita6969 - 16 installs
How it compares
Pick imsg when you need native Messages.app access on macOS rather than a third-party SMS API or web-only chat integration.
FAQ
Which platforms does imsg support?
iMessage and SMS through macOS Messages.app only; use other channel tools for Telegram, Signal, WhatsApp, or Discord.
What permissions are required?
Full Disk Access for the terminal and Automation permission for Messages.app when sending.
Must sends be confirmed first?
Yes. Always confirm recipient and message content before imsg send, and get approval for bulk messaging.
Is Imsg safe to install?
skills.sh reports 1 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.