Skip to main content
skill Claude Code official · Anthropic

configure · anthropics — Claude Code skill: what it does, how to install

Checks iMessage channel setup in Claude Code and audits access rules. Use it when messages fail to reach the assistant or to see which contacts are allowed.

Install into Claude Code · Plugin marketplace All methods and platforms ↓
/plugin install imessage@claude-plugins-official
Open on GitHub

What configure does

The skill verifies that macOS allows Claude Code to read messages directly from ~/Library/Messages/chat.db. There are no API tokens or environment variables to store. It runs a quick file listing command. If the terminal or IDE lacks Full Disk Access, the command fails and the skill points you to the exact macOS privacy settings.

Next, it reads ~/.claude/channels/imessage/access.json to inspect your direct-messaging rules. The skill reports the active policy, displays allowed phone numbers or iCloud emails, and flags pending pairing requests. Self-chat from your own Apple ID always passes through. The skill steers you toward an allowlist rather than pairing mode, because pairing sends automated reply codes to any incoming contact on your Mac.

Install this if you run Claude Code with iMessage on your daily machine and need tight control over who can trigger the assistant.

What it helps with

  • Verify Full Disk Access permissions for the terminal or IDE to read chat.db.
  • Troubleshoot why incoming iMessage texts are not reaching Claude Code.
  • Review the current DM access policy and list approved sender handles.
  • Avoid sending unwanted verification auto-replies to external contacts.

Example prompts for the agent

  • Why aren't my iMessage texts reaching Claude Code?
  • Check my iMessage channel setup and show who can reach me.
  • Configure the iMessage access policy and allow a new contact.

How to install configure

1Plugin marketplace

/plugin install imessage@claude-plugins-official

This installs the whole imessage plugin with all its skills

2Skills CLI (Vercel)

npx skills add anthropics/claude-plugins-official --skill configure -a claude-code

3Manually: put the files in place

~/.claude/skills/configure/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/configure/

From the same set37

The whole set →
code-reviewer official Anthropic Reviews code changes against CLAUDE.md project rules and flags material defects. Run it before a commit or pull request. Claude Code 31,050installs code-reviewer official Anthropic This subagent checks code changes for bugs, security issues, and project-rule violations. Use it when a review should focus on findings that matter. Claude Code 31,050installs claude-md-improver official Anthropic This skill audits CLAUDE.md files, produces a quality report, and suggests focused edits. Use it when project instructions need a careful review. Claude Code 12,558installs security-auditor official Anthropic This subagent searches code for security flaws and gives engineers concrete fixes. Use it to review a project before hardening or modernization work. Claude Code 10,718installs test-engineer official Anthropic This subagent captures legacy behavior in tests and compares it with a rewritten implementation. Use it before changing existing modules. Claude Code 9,715installs claude-automation-recommender official Anthropic Analyzes a codebase and recommends Claude Code hooks, subagents, skills, plugins, and MCP servers. Useful when setting up a project or refining an existing workflow. Claude Code 9,057installs playground official Anthropic Builds interactive HTML playgrounds with controls, a live preview, and a generated prompt. Use it when a topic is easier to explore visually than through plain text. Claude Code 7,967installs agent-development official Anthropic This skill guides you through creating agents for Claude Code plugins, from trigger conditions to system prompts and tool access. Use it when adding a subagent to a plugin. Claude Code 7,353installs

Other versions of configure

Similar

standup official anthropics Generates daily standup updates by pulling recent commits and ticket changes, or by formatting rough notes into yesterday, today, and blockers. Claude Code CX Codex Cursor +1 5,200installs quasi-coder official github This skill turns shorthand, quasi-code, and natural-language requests into working implementations. Use it when requirements are incomplete, imprecise, or mix technical terms. GitHub Copilot 9,100installs breakdown-epic-pm official github Creates an Epic PRD for a new initiative and saves it as Markdown. Use it when a product idea needs clear requirements before technical architecture work. GitHub Copilot 9,100installs remember-interactive-programming official github Keeps the agent focused on live REPL exploration and the current system state. Useful for interactive programming, especially in Clojure. GitHub Copilot 9,000installs create-technical-spike official github Creates time-boxed technical spike documents for researching critical questions about architecture, APIs, or performance before development starts. GitHub Copilot 9,000installs breakdown-epic-arch official github Creates a high-level Epic architecture specification from a PRD. Use it when a team needs an implementation plan before development starts. GitHub Copilot 9,000installs find-skills vercel-labs Discovers and installs agent skills from skills.sh directly inside your coding assistant. Handy when you need domain-specific workflows for a project. Claude Code CX Codex Cursor +1 4,000,000installs grill-me Matt Pocock grill-me interviews you about a plan or design to expose gaps and sharpen decisions. Use it before implementation starts. Claude Code 1,424,476installs

Questions about configure

How do I install configure in Claude Code?

Run /plugin install imessage@claude-plugins-official in Claude Code. You can also install it via npx skills add anthropics/claude-plugins-official --skill configure -a claude-code.

What does configure do?

It tests read access to the local iMessage database and parses access.json. The skill then summarizes your permission state and explains the next setup step.

Why does the skill discourage pairing mode for iMessage?

Pairing mode triggers an automated text with a code to every person who messages your Mac. An allowlist keeps incoming messages restricted to your own Apple ID and explicitly approved numbers without spamming contacts.

Source text

SKILL.md · Apache-2.0
---
name: configure
description: Check iMessage channel setup and review access policy. Use when the user asks to configure iMessage, asks "how do I set this up" or "who can reach me," or wants to know why texts aren't reaching the assistant.
user-invocable: true
allowed-tools:
  - Read
  - Bash(ls *)
---

# /imessage:configure — iMessage Channel Setup

There's no token to save — iMessage reads `~/Library/Messages/chat.db`
directly. This skill checks whether that works and orients the user on
access policy.

Arguments passed: `$ARGUMENTS` (unused — this skill only shows status)

---

## Status and guidance

Read state and give the user a complete picture:

1. **Full Disk Access** — run `ls ~/Library/Messages/chat.db`. If it fails
   with "Operation not permitted", FDA isn't granted. Say: *"Grant Full Disk
   Access to your terminal (or IDE if that's where Claude Code runs): System
   Settings → Privacy & Security → Full Disk Access. The server can't read
   chat.db without it."*

2. **Access** — read `~/.claude/channels/imessage/access.json` (missing file
   = defaults: `dmPolicy: "allowlist"`, empty allowlist). Show:
   - DM policy and what it means in one line
   - Allowed senders: count, and list the handles
   - Pending pairings: count, with codes if any (only if policy is `pairing`)

3. **What next** — end with a concrete next step based on state:
   - FDA not granted → the FDA instructions above
   - FDA granted, policy is allowlist → *"Text yourself from any device
     signed into your Apple ID — self-chat always bypasses the gate. To let
     someone else through: `/imessage:access allow +15551234567`."*
   - FDA granted, someone allowed → *"Ready. Self-chat works; {N} other
     sender(s) allowed."*

---

## Build the allowlist — don't pair

iMessage reads your **personal** `chat.db`. You already know the phone
numbers and emails of people you'd allow — there's no ID-capture problem to
solve. Pairing has no upside here and a clear downside: every contact who
texts this Mac gets an unsolicited auto-reply.

Drive the conversation this way:

1. Read the allowlist. Tell the user who's in it (self-chat always works
   regardless).
2. Ask: *"Besides yourself, who should be able to text you through this?"*
3. **"Nobody, just me"** → done. The default `allowlist` with an empty list
   is correct. Self-chat bypasses the gate.
4. **"My partner / a friend / a couple people"** → ask for each handle
   (phone like `+15551234567` or email like `[email protected]`) and offer to
   run `/imessage:access allow <handle>` for each. Stay on `allowlist`.
5. **Current policy is `pairing`** → flag it immediately: *"Your policy is
   `pairing`, which auto-replies a code to every contact who texts this Mac.
   Switch back to `allowlist`?"* and offer `/imessage:access policy
   allowlist`. Don't wait to be asked.
6. **User asks for `pairing`** → push back. Explain the auto-reply-to-
   everyone consequence. If they insist and confirm a dedicated line with
   few contacts, fine — but treat it as a one-off, not a recommendation.

Handles are `+15551234567` or `[email protected]`. `disabled` drops
everything except self-chat.

---

## Implementation notes

- No `.env` file for this channel. No token. The only OS-level setup is FDA
  plus the one-time Automation prompt when the server first sends (which
  can't be checked from here).
- `access.json` is re-read on every inbound message — policy changes via
  `/imessage:access` take effect immediately, no restart.

© anthropics · Apache-2.0 · anthropics/claude-plugins-official

See also

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor