Overview
This guide shows you how to connect OpenRouter to iMessage using OpenClaw. You'll configure the messaging channel, set up AI provider authentication, and deploy your assistant.
iMessage Capabilities
- Direct messages
- Group chats
- Media support
OpenRouter Features
- Access to 100+ models
- Unified billing
- Model comparison
- Automatic fallbacks
Step 1: Configure iMessage
- Ensure you're running macOS with Messages app
- Grant Full Disk Access to Terminal/Node
- Enable imessage in openclaw.json
- Start the gateway
- Send a test message to trigger pairing
Step 2: Configure OpenRouter
OpenRouter API key
- Create account at openrouter.ai
- Generate API key
- Set OPENROUTER_API_KEY environment variable
Environment variable: OPENROUTER_API_KEY
Step 3: Combined Configuration
Add both configurations to your openclaw.json:
{
"agents": {
"defaults": {
"model": {
"primary": "openrouter/anthropic/claude-sonnet-4"
}
}
},
"models": {
"providers": {
"openrouter": {
"models": {
"providers": {
"openrouter": {
"apiKey": "${OPENROUTER_API_KEY}
}
},
"channels": {
"imessage": {
"enabled": true,
"dmPolicy": "pairing",
"allowFrom": ["friend@icloud.com"]
}
}
}
} Step 4: Start and Test
# Start the gateway
openclaw gateway start
# Check connection status
openclaw status
# View real-time logs
openclaw logs --follow Access Control
iMessage supports the following access control policies:
DM Policies
| Policy | Description |
|---|---|
allowlist | Only senders in allowFrom list are processed |
pairing | Unknown senders receive a pairing code; admin must approve |
open | All DMs are processed (requires allowFrom: ["*"]) |
Group Policies
| Policy | Description |
|---|---|
allowlist | Only groups in groupAllowFrom are processed |
open | All groups are processed |
Deploy Options
Choose how to deploy your iMessage + OpenRouter setup:
Local Deployment
Run on your personal machine with local-only access
View Guide →VPS Deployment
Always-on deployment on a Linux VPS
View Guide →Cloud Deployment
Managed container deployment on Fly.io or similar
View Guide →Docker Deployment
Containerized deployment with Docker
View Guide →