packages/docs/plugin-registry/platform/imessage.md
The iMessage plugin connects Eliza agents to iMessage on macOS, supporting both iMessage and SMS conversations with configurable service selection and attachment handling.
Package: @elizaos/plugin-imessage
eliza plugins install @elizaos/plugin-imessage
{
"connectors": {
"imessage": {
"cliPath": "/usr/local/bin/imessage",
"service": "auto",
"dmPolicy": "pairing"
}
}
}
| Field | Required | Description |
|---|---|---|
cliPath | Yes | Path to the iMessage CLI tool executable (required to trigger auto-enable) |
service | No | Service type: "imessage", "sms", or "auto" |
dbPath | No | Path to iMessage database (default: ~/Library/Messages/chat.db) |
remoteHost | No | Remote Mac hostname for SSH-based iMessage access |
region | No | Region configuration for phone number formatting |
includeAttachments | No | Include attachments in messages |
dmPolicy | No | DM access policy: "pairing", "allowlist", "open", or "disabled" (default: "pairing") |
accounts map| Variable | Required | Description |
|---|---|---|
IMESSAGE_ENABLED | No | Enable or disable the connector |
IMESSAGE_CLI_PATH | No | Path to the iMessage CLI tool executable |
IMESSAGE_DB_PATH | No | Path to iMessage database (default: ~/Library/Messages/chat.db) |
IMESSAGE_DM_POLICY | No | DM access policy |
IMESSAGE_ALLOW_FROM | No | Comma-separated allowed phone numbers/emails |
IMESSAGE_GROUP_POLICY | No | Group message policy |
IMESSAGE_POLL_INTERVAL_MS | No | Polling interval in milliseconds |
The plugin auto-enables when the connectors.imessage block contains a cliPath:
{
"connectors": {
"imessage": {
"cliPath": "/usr/local/bin/imessage"
}
}
}
If message retrieval fails, ensure Full Disk Access is granted:
The default iMessage database is at ~/Library/Messages/chat.db. If using a non-standard location, set dbPath explicitly.