Overview
ArgentOS can send and receive iMessage messages on macOS by interfacing with the built-in Messages.app. This is a macOS-only channel that leverages AppleScript and the Messages framework.Prerequisites
- macOS (Apple Silicon or Intel)
- An active iMessage account signed in to Messages.app
- Full Disk Access granted to your terminal or the ArgentOS process
- ArgentOS gateway running
Setup
Enable Full Disk Access
ArgentOS needs to read the Messages database (
~/Library/Messages/chat.db):- Open System Settings > Privacy & Security > Full Disk Access
- Add your terminal app (Terminal.app, iTerm2, etc.)
- If running as a LaunchAgent, add the node binary
Configuration
How It Works
- ArgentOS polls the Messages SQLite database for new incoming messages
- New messages are forwarded to the agent runtime
- Agent responses are sent via AppleScript
tell application "Messages"
Supported Features
| Feature | Supported |
|---|---|
| Text messages | Yes |
| Images (inbound) | Partial |
| Images (outbound) | No |
| Group chats | No |
| Tapbacks/reactions | No |
| Read receipts | No |
Known Limitations
macOS only
macOS only
This channel cannot run on Linux or Docker.
Polling-based detection
Polling-based detection
New message detection depends on polling interval (default 5 seconds).
No rich media outbound
No rich media outbound
The agent can only send plain text responses.
Full Disk Access required
Full Disk Access required
Without it, the Messages database cannot be read.
Single account
Single account
Only works with the iMessage account signed in on the Mac.
Security Notes
The Messages database contains your entire iMessage history. Ensure your ArgentOS installation is properly secured, and use
allowedContacts to restrict which conversations the agent can access.