DEV Community

Cover image for Claude Code Channels: Text Your AI from iMessage — Complete Setup Guide
Ayyaz Zafar
Ayyaz Zafar

Posted on • Originally published at ayyaztech.com

Claude Code Channels: Text Your AI from iMessage — Complete Setup Guide

Claude Code Channels now supports iMessage natively on Mac. You can text your AI assistant from your iPhone and it texts you back — no Telegram bot, no Discord server, no external service. Just iMessage.

If you've seen my Discord and Telegram channel guides, this is the simplest one yet.

How It Works

Your Mac stores all iMessage data in a SQLite database called chat.db. The iMessage plugin polls this database every second for new messages. When it finds one, it pushes the message to Claude Code. For replies, Claude tells Messages.app to send a text through AppleScript.

Everything stays local on your Mac. No cloud services, no API tokens, no hosted bots.

Prerequisites

  • macOS (iMessage is Mac-only)
  • Claude Code installed and up to date
  • Full Disk Access permission for your terminal app

Step 1: Grant Full Disk Access

macOS protects the chat.db database. Your terminal needs Full Disk Access to read it.

  1. Open System Settings
  2. Go to Privacy & Security → Full Disk Access
  3. Add your terminal app (Terminal, iTerm2, Warp, or VS Code)
  4. Restart your terminal if prompted

The key rule: whatever app launches bun (which runs Claude Code) needs this permission. Without it, the plugin exits immediately.

Step 2: Install the iMessage Plugin

First, make sure Claude Code is up to date:

claude update
Enter fullscreen mode Exit fullscreen mode

Install the iMessage plugin:

/plugin install @anthropic/claude-plugin-imessage
Enter fullscreen mode Exit fullscreen mode

If you get a "plugin not found" error, install or update the official marketplace first:

/plugin marketplace add anthropic/claude-plugin-official
Enter fullscreen mode Exit fullscreen mode

Choose user scope when prompted so the plugin works across all your projects.

Step 3: Launch Claude Code with Channels

Exit Claude Code and restart with the channels flag:

claude --channels plugin:imessage:imessage
Enter fullscreen mode Exit fullscreen mode

You should see: "Listening for channel messages". That's it — the plugin is now polling your messages database.

Step 4: Test with Self-Chat

Open Messages on your iPhone and text yourself (your iCloud phone number or email). Self-chat bypasses all access control — it works immediately with no setup.

Try sending: "Hey Claude, what's in my working directory?"

Note: In self-chat, every message appears twice (as sender and receiver). That's normal iMessage behavior, not a bug. To avoid this, allow-list a second phone number and text from that device instead.

Step 5: Access Control

By default, only your self-chat works. Everyone else is silently dropped. To let someone else reach your Claude Code session:

/imessage:access allow +1234567890
/imessage:access allow friend@icloud.com
Enter fullscreen mode Exit fullscreen mode

Each time you add someone, Claude Code asks for confirmation — you can approve from your terminal OR directly from your iPhone by typing the secret code.

To remove access:

/imessage:access remove +1234567890
Enter fullscreen mode Exit fullscreen mode

Real Use Cases

  • Remote file lookup: Text Claude to check config values while away from desk
  • Build things remotely: Text "Create a landing page" — file is ready when you return
  • Check build status: Text "Did the tests pass?" — get results on your phone
  • Standup prep: Text "What did I commit yesterday?" — formatted summary on iPhone

Additional Configuration

Disable the Signature

IMESSAGE_APPEND_SIGNATURE=false claude --channels plugin:imessage:imessage
Enter fullscreen mode Exit fullscreen mode

Group Chat Support

/imessage:access set mention-patterns ["@claude", "hey claude"]
Enter fullscreen mode Exit fullscreen mode

Bypass Permissions (Use Carefully)

claude --channels plugin:imessage:imessage --dangerously-skip-permissions
Enter fullscreen mode Exit fullscreen mode

Things to Know

  1. Claude Code must be running — close the terminal, messages stop
  2. macOS only — chat.db only exists on Mac
  3. First reply triggers an automation prompt — click OK (one-time)
  4. Security matters — this reads your personal messages database

Related Guides

All three channel options work. Pick whichever platform you use the most.

Top comments (0)