website/docs/user-guide/skills/bundled/apple/apple-imessage.md
Send and receive iMessages/SMS via the imsg CLI on macOS.
| Source | Bundled (installed by default) |
| Path | skills/apple/imessage |
| Version | 1.0.0 |
| Author | Hermes Agent |
| License | MIT |
| Platforms | macos |
| Tags | iMessage, SMS, messaging, macOS, Apple |
:::info The following is the complete skill definition that Hermes loads when this skill is triggered. This is what the agent sees as instructions when the skill is active. :::
Use imsg to read and send iMessage/SMS via macOS Messages.app.
brew install steipete/tap/imsgimsg chats --limit 10 --json
# By chat ID
imsg history --chat-id 1 --limit 20 --json
# With attachments info
imsg history --chat-id 1 --limit 20 --attachments --json
# Text only
imsg send --to "+14155551212" --text "Hello!"
# With attachment
imsg send --to "+14155551212" --text "Check this out" --file /path/to/image.jpg
# Force iMessage or SMS
imsg send --to "+14155551212" --text "Hi" --service imessage
imsg send --to "+14155551212" --text "Hi" --service sms
imsg watch --chat-id 1 --attachments
--service imessage — Force iMessage (requires recipient has iMessage)--service sms — Force SMS (green bubble)--service auto — Let Messages.app decide (default)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"