agent-channeltalk
Interact with Channel Talk using extracted desktop app or browser credentials - read chats,…
Interact with iMessage on a Mac via the imsg tool - send messages, read chats, watch for new messages
$ npx -y skills add agent-messenger/agent-messenger --skill agent-imessage --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/agent-imessageContext preview
The summary Claude sees to decide when to auto-load this skill.
Interact with iMessage on a Mac via the imsg tool - send messages, read chats, watch for new messages
name: agent-imessage
description: Interact with iMessage on a Mac via the imsg tool - send messages, read chats, watch for new messages
version: 2.38.0
allowed-tools: Bash(agent-imessage:*)
metadata:
openclaw:
requires:
bins:
- agent-imessage
install:
- kind: node
package: agent-messenger
bins: [agent-imessage]An iMessage CLI for AI agents, backed by [imsg](https://github.com/openclaw/imsg) — a native macOS tool that reads the local Messages database and sends through Messages.app. Apple has no public iMessage API, so this integration runs **on a Mac** and drives Messages locally. You act as yourself with your own Apple ID; nothing leaves the machine.
Use one of these entrypoints:
# Guided setup: checks imsg + permissions, saves an account agent-imessage setup # Diagnose anytime agent-imessage doctor # List chats (source of chat ids/guids) agent-imessage chat list # Send (to a chat id, guid, or a phone/email) agent-imessage message send 42 "Hello from agent-imessage" agent-imessage message send "+15551234567" "Hi" # Read recent messages agent-imessage message list 42 --limit 20 # Watch for new messages (resumable, JSON lines) agent-imessage message watch --chat all --jsonl # React to the most recent incoming message (standard tapbacks) agent-imessage message react 42 love
iMessage runs on the Mac via imsg. One-time setup:
1. `brew install steipete/tap/imsg` 2. Sign Messages.app into your Apple ID (a dedicated Apple ID is recommended). 3. Grant **Full Disk Access** to the app/terminal launching agent-messenger (System Settings → Privacy & Security → Full Disk Access). macOS grants to the **parent process**. 4. Grant **Automation → Messages** when first prompted (needed to send).
See [setup](references/setup.md) and [permissions](references/permissions.md) references for detail.
Configuration is scriptable too:
agent-imessage auth set --bin /opt/homebrew/bin/imsg --region US --current
Environment overrides (runtime only, not persisted): `AGENT_IMESSAGE_BIN`, `AGENT_IMESSAGE_REGION`.
When a command fails, the agent MUST run `agent-imessage doctor` and act on the `suggestion`/`code` rather than telling the user to run commands. If `code` is `imsg_not_found`, guide installing imsg. If `full_disk_access` or `automation_denied`, surface the exact System Settings path (and that macOS grants to the parent process). Never silently retry the same failing call.
All commands accept `--account <id>` and `--pretty`.
JSON by default; `--pretty` for indented output. `message watch --jsonl` emits one JSON object per line.
| Feature | Available | Requires | | --- | --- | --- | | List/search chats, send text, read/watch messages | ✅ | imsg core (no SIP) | | Standard tapbacks, to the most recent incoming message | ✅ | imsg core (no SIP) | | React to a specific message / custom-emoji tapbacks | ⏳ planned | imsg bridge (`imsg launch` + SIP) | | Typing, read receipts, edit/unsend, group management | ⏳ planned | imsg bridge (`imsg launch` + SIP) |
Errors are JSON with a `code` and often a `suggestion`:
| Code | Meaning | Action | | --- | --- | --- | | `imsg_not_found` | imsg binary not runnable | `brew install steipete/tap/imsg` (or set `--bin`/`AGENT_IMESSAGE_BIN`). | | `full_disk_access` | Can't read Messages DB | Grant Full Disk Access to the launching app (parent process). | | `automation_denied` | Can't control Messages | Grant Automation → Messages in System Settings. | | `not_authenticated` | No account configured | Run `agent-imessage setup`. | | `chat_not_found` | Unknown chat ref | Use a chat id/guid from `chat list`. | | `pri
Your agent messages as you — not as a bot One CLI for Slack, Discord, Teams, Webex, Telegram, WhatsApp, LINE, WeChat, iMessage, Instagram, KakaoTalk, and Channel Talk.
Repo: agent-messenger/agent-messenger
Interact with Channel Talk using extracted desktop app or browser credentials - read chats,…
Interact with Channel Talk workspaces using API credentials - send messages, read chats,…
Interact with Discord servers - send messages, read channels, manage reactions
Interact with Discord servers using bot tokens - send messages, read channels, manage…
Interact with Instagram DMs - send messages, read conversations, manage accounts
Interact with KakaoTalk - send messages, read chats, manage conversations