# Connect Claude Code to iMessage and check a reply from your phone
> Set up Claude Code’s official iMessage channel on a Mac, send one self-message about an existing project file, and verify the same-thread reply against the file.
By BIGCHANGE.AI Editorial
Published: 2026-10-25T06:48:37.946Z
Updated: 2026-10-25T06:48:37.946Z
Canonical: https://bigchange.ai/blog/claude-code-imessage-channel-self-chat-guide

AI-generated conceptual illustration by BIG CHANGE; no actual Claude Code or iMessage interface, account, delivered message, file read, checked reply or BIG CHANGE test is depicted.
Claude Code’s iMessage channel lets a message from your phone enter a Claude Code session that is already running on your Mac. The official plugin can send a reply to the same Messages conversation. This guide takes you through one check: ask the session to read an existing project file, then compare its answer with the file yourself. It is based on [Anthropic’s documentation](https://code.claude.com/docs/en/channels) checked on 25 October 2026; BIG CHANGE did not run the plugin, a Mac, or an account.
## The big change
- **What changed:** Anthropic’s research-preview iMessage plugin can deliver a self-message to an open local Claude Code session and reply through Messages.
- **Why it matters:** You can check a project fact from your phone while the session retains its local project context.
- **What to watch:** The Mac and session must remain running, access to Messages and project files needs deliberate review, and ordinary tool approvals can still require you at the terminal.
## Before you connect Messages
You need a Mac with Messages working under your Apple ID, a phone signed into that same Apple ID, a working Claude Code CLI, and Bun, the runtime the plugin uses. If you are still installing Claude Code or checking its first project read, use [our Mac and Windows setup guide](https://bigchange.ai/blog/claude-code-native-install-mac-windows-first-read-guide) first. In the terminal you will use to launch the channel, check:
```bash
claude --version
bun --version
```
If Bun is missing, follow [Bun’s installation instructions](https://bun.sh/docs/installation) and repeat the version check. Anthropic calls channels a rolling research preview and gives no fixed minimum Claude Code version on its channels page. The `--channels` flag may work even though it does not appear in `claude --help`. If your installed CLI rejects it, check the current official documentation and your installation rather than guessing a version.
In macOS Terminal, go to your project before launching Claude Code:
```bash
cd "/absolute/path/to/your/project"
pwd
```
Replace the placeholder with the absolute path to your **existing** project. Compare the path printed by `pwd` with the project you intended, immediately before running `claude`. Review the session’s effective file access, enabled tools and loaded project instructions. Pick one **existing, nonsensitive** project file with a heading that you are authorized to send through this account. Open it yourself and note its first heading and one literal fact. You will use those as an independent answer check. A narrow message does not confine Claude’s access to that one file; the session retains its normal permissions and context. Anyone who can use your signed-in phone or Mac may be able to send a self-message with that authority.
Start Claude Code normally and use `/status` to check the account route. Channels require a claude.ai account or an Anthropic Console API key. Amazon Bedrock, Google Cloud’s Agent Platform and Microsoft Foundry are ineligible. A Pro or Max user outside an organization opts in with the launch flag for each session. A Team or Enterprise Owner must enable Channels in Organization settings > Claude Code > Channels, or the organization must set `channelsEnabled: true` in managed settings. Console API authentication allows channels by default unless managed settings are deployed; then `channelsEnabled` must be true. An organization’s `allowedChannelPlugins` setting can also exclude iMessage. If policy blocks the channel, ask the administrator to change the approved setting. Do not use a development flag to bypass it.
## 1. Give the channel its Mac permissions and install it
The iMessage plugin reads `~/Library/Messages/chat.db` and sends replies through AppleScript. That is broad local Messages access. Grant Full Disk Access only after considering that scope, and grant it to the app that actually launches Bun, such as your terminal or IDE. macOS may prompt on the first read. If you missed or denied the prompt, go to System Settings > Privacy & Security > Full Disk Access and select the launching app. Without access, Anthropic says the server exits with `authorization denied`.
Run `claude` from the checked project directory. At the **Claude Code prompt**, install the official plugin:
```text
/plugin install imessage@claude-plugins-official
```
Choose user scope when prompted. If the error says `Marketplace "claude-plugins-official" not found`, add that exact marketplace and retry the install once:
```text
/plugin marketplace add anthropics/claude-plugins-official
```
If the error instead says the plugin was not found **in** `claude-plugins-official`, update the catalog and retry once:
```text
/plugin marketplace update claude-plugins-official
```
These repairs address different errors. If the same error recurs, inspect the current plugin guidance and the account or organization policy before doing anything else.
## 2. Restart the local session with iMessage enabled
Exit Claude Code. From the same project directory, start it again with the exact channel identity:
```bash
claude --channels plugin:imessage@claude-plugins-official
```
Check the startup notice for the plugin identity and any warning that it failed to register or was excluded by policy. Keep this Mac and session open and connected while testing. The channel sends events to this running local session; it does not create a new cloud session. Anthropic does not establish a message queue or replay guarantee for a closed session.
## 3. Send one self-message and check the reply
On the signed-in phone, open Messages, address yourself, and send one message with the real relative path to the file you inspected. Replace the bracketed path; it is deliberately not an example file to create.
```text
Read the existing project file [relative path] and reply with its first heading and one factual detail. Do not edit or execute commands. Stop if the file is missing.
```
Self-chat needs no pairing. The plugin excludes other contacts by default; do not add any for this test. Watch the intended Claude Code terminal for the inbound channel line and actual file-read/tool activity. Review any ordinary tool permission request locally before accepting it. The first reply also triggers a macOS Automation prompt asking whether the launching app may control Messages; approve only the expected request.
The terminal shows the reply tool call and a send confirmation, while the reply text appears in Messages. Check the **same thread on the phone** and compare both reported details with the file you opened yourself. A terminal “sent” confirmation alone proves neither the content nor the phone delivery. The task is complete when the intended session received the self-message, read the intended file, and the same-thread answer matches your independent check. Keep a private note of your CLI and Bun versions, account route without secrets, project and file, observed actions, permissions and result.
## If the check stops or fails
If nothing arrives, confirm the session is still open, the launch command names `plugin:imessage@claude-plugins-official`, the plugin registered without a startup warning, Bun runs, and the launching app has Full Disk Access. Then check your account and organization’s channel policy. If a tool approval is pending, handle it at the terminal; the documentation does not establish remote approval relay for this iMessage plugin. If the reply fails, inspect the actual Automation error and permission. Check the existing phone thread and session before resending an uncertain request, so you do not mistake a delayed reply for a new run.
To stop channel operation, exit the Claude Code session. Start a future session with `--channels` only when you want the channel again. Do not leave the Mac running merely because the plugin can accept messages while the session is open.
Claude Code use is included within Pro and Max subscription limits; Console API use is billed by tokens. Team and Enterprise terms depend on the organization. Anthropic’s [costs manual](https://code.claude.com/docs/en/costs) explains `/usage`; a locally estimated session dollar figure is not a Pro or Max bill. Check your plan or Console billing for the authoritative charge. This documented procedure establishes no fixed task price, response time, productivity gain or hands-on result.
## Sources
- [Anthropic Claude Code channels documentation](https://code.claude.com/docs/en/channels) — Primary manual for research-preview access, Bun, the iMessage plugin commands, Mac permissions, self-chat allowlist, channel startup, session behavior and organization controls. Checked 25 October 2026; it does not claim that BIG CHANGE performed a live test or establish queue/replay for a closed session.
- [Anthropic Claude Code costs documentation](https://code.claude.com/docs/en/costs) — Explains /usage, subscription usage within plan limits, locally estimated session cost and authoritative Console API billing. It does not establish a fixed charge for this guide's task. Checked 25 October 2026.
- [Bun installation documentation](https://bun.sh/docs/installation) — Official path for a reader whose bun --version check fails; no Bun installation was performed for this article.
- [BIG CHANGE Claude Code installation and first-read guide](https://bigchange.ai/blog/claude-code-native-install-mac-windows-first-read-guide) — Contextual prerequisite for installing Claude Code and verifying a first project read; it covers a different reader task from connecting a phone through the official channel.
The BIG CHANGE newsletter
The big picture. At your pace.
Recent stories on AI and robotics, the shifts worth watching and practical ideas to use. Choose a daily briefing, weekly digest or monthly perspective.
Next scheduled send (UTC): . Your first edition arrives at the next scheduled send after you confirm.
Your privacy, your choice.
Necessary storage supports site security and remembers your choices. Optional Google Analytics stays off until you allow it. You can read every story with necessary storage only. Privacy details