# Imsg

IMessage/SMS CLI for listing chats, history, and sending messages via Messages.app.

- Repository: https://github.com/SafeAI-Lab-X/ClawKeeper (1020 stars)
- Category: Engineering
- License: see repository
- Last updated: 2026-08-17
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add SafeAI-Lab-X/ClawKeeper --skill imsg -g -a claude-code -y`
Codex: `npx skills add SafeAI-Lab-X/ClawKeeper --skill imsg -g -a codex -y`
Cursor: `npx skills add SafeAI-Lab-X/ClawKeeper --skill imsg -g -a cursor -y`
Gemini CLI: `npx skills add SafeAI-Lab-X/ClawKeeper --skill imsg -g -a gemini-cli -y`

## Description

iMessage/SMS CLI for listing chats, history, and sending messages via Messages.app.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# imsg

Use `imsg` to read and send iMessage/SMS via macOS Messages.app.

## When to Use

✅ **USE this skill 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

❌ **DON'T use this skill when:**

- Telegram messages → use `message` tool with `channel:telegram`
- Signal messages → use Signal channel if configured
- WhatsApp messages → use WhatsApp channel if configured
- Discord messages → use `message` tool with `channel:discord`
- Slack messages → use `slack` skill
- 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

```bash
imsg chats --limit 10 --json
```

### View History

```bash
# By chat ID
imsg history --chat-id 1 --limit 20 --json

# With attachments info
imsg history --chat-id 1 --limit 20 --attachments --json
```

### Watch for New Messages

```bash
imsg watch --chat-id 1 --attachments
```

### Send Messages

```bash
# 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 sms
```

## Service Options

- `--service imessage`, Force iMessage (requires recipient has iMessage)
- `--service sms`, Force SMS (green bubble)
- `--service auto`, Let Messages.app decide (default)

## Safety Rules

The rest: https://github.com/SafeAI-Lab-X/ClawKeeper/blob/HEAD/legacy/clawkeeper-watcher/skills/imsg/SKILL.md
