claude-code - 💡(How to fix) Fix `--channels <plugin>` no longer exposes plugin MCP tools in v2.1.101 (regression from 2.1.91) [3 comments, 2 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
anthropics/claude-code#46406Fetched 2026-04-11 06:21:09
View on GitHub
Comments
3
Participants
2
Timeline
10
Reactions
0
Author
Timeline (top)
labeled ×6commented ×3closed ×1

When launching Claude Code with --channels plugin:imessage@claude-plugins-official, the iMessage plugin's MCP tools (mcp__plugin_imessage_imessage__chat_messages, mcp__plugin_imessage_imessage__reply) are no longer added to the session's tool list. The channel subsystem still attaches (the "Listening for channel messages from: ..." banner shows), but without the reply tool the session literally cannot respond to inbound messages.

Root Cause

When launching Claude Code with --channels plugin:imessage@claude-plugins-official, the iMessage plugin's MCP tools (mcp__plugin_imessage_imessage__chat_messages, mcp__plugin_imessage_imessage__reply) are no longer added to the session's tool list. The channel subsystem still attaches (the "Listening for channel messages from: ..." banner shows), but without the reply tool the session literally cannot respond to inbound messages.

Code Example

claude --dangerously-skip-permissions \
       --name imessage-assistant \
       --channels plugin:imessage@claude-plugins-official

---

addedNames: [
  CronCreate, CronDelete, CronList, EnterWorktree, ExitWorktree,
  NotebookEdit, RemoteTrigger, TaskCreate, TaskGet, TaskList,
  TaskOutput, TaskStop, TaskUpdate, WebFetch, WebSearch,
  mcp__plugin_imessage_imessage__chat_messages,
  mcp__plugin_imessage_imessage__reply
]

---

addedNames: [
  CronCreate, CronDelete, CronList, EnterWorktree, ExitWorktree,
  Monitor, NotebookEdit, RemoteTrigger, TaskCreate, TaskGet,
  TaskList, TaskOutput, TaskStop, TaskUpdate, WebFetch, WebSearch
]
RAW_BUFFERClick to expand / collapse

Summary

When launching Claude Code with --channels plugin:imessage@claude-plugins-official, the iMessage plugin's MCP tools (mcp__plugin_imessage_imessage__chat_messages, mcp__plugin_imessage_imessage__reply) are no longer added to the session's tool list. The channel subsystem still attaches (the "Listening for channel messages from: ..." banner shows), but without the reply tool the session literally cannot respond to inbound messages.

Version

  • Broken: Claude Code 2.1.101
  • Working: Claude Code 2.1.91

Repro

claude --dangerously-skip-permissions \
       --name imessage-assistant \
       --channels plugin:imessage@claude-plugins-official

Observed

In ~/.claude/projects/<project>/<session>.jsonl, the first deferred_tools_delta attachment under v2.1.91 included the plugin's MCP tools:

addedNames: [
  CronCreate, CronDelete, CronList, EnterWorktree, ExitWorktree,
  NotebookEdit, RemoteTrigger, TaskCreate, TaskGet, TaskList,
  TaskOutput, TaskStop, TaskUpdate, WebFetch, WebSearch,
  mcp__plugin_imessage_imessage__chat_messages,
  mcp__plugin_imessage_imessage__reply
]

Under v2.1.101, the analogous entry is missing those two names entirely, and no later delta adds them:

addedNames: [
  CronCreate, CronDelete, CronList, EnterWorktree, ExitWorktree,
  Monitor, NotebookEdit, RemoteTrigger, TaskCreate, TaskGet,
  TaskList, TaskOutput, TaskStop, TaskUpdate, WebFetch, WebSearch
]

The plugin itself is healthy:

  • claude mcp list in the same workspace reports plugin:imessage:imessage ✓ Connected.
  • Manually running bun run --cwd $CLAUDE_PLUGIN_ROOT --shell=bun --silent start (the exact command from the plugin's .mcp.json) starts cleanly: opens chat.db, sets the watermark, and begins polling.
  • The plugin is enabled in ~/.claude/settings.json ("enabledPlugins": { "imessage@claude-plugins-official": true }) and appears in installed_plugins.json.

The issue appears specific to how --channels attaches the plugin in 2.1.101 — it hooks up the channel source (inbound push banner shows) without exposing the plugin's MCP tools to the session.

Impact

Any persistent iMessage auto-responder setup built on the claude-plugins-official iMessage channel is broken on 2.1.101 — messages arrive at chat.db but the session has no reply tool and cannot respond. Downgrading to 2.1.91 restores the expected behavior.

Environment

  • macOS 15.x (Darwin 25.3.0)
  • Plugin: imessage@claude-plugins-official v0.1.0

extent analysis

TL;DR

Downgrade to Claude Code version 2.1.91 to restore the expected behavior of the iMessage plugin's MCP tools.

Guidance

  • Verify that the imessage plugin is enabled in ~/.claude/settings.json and appears in installed_plugins.json to ensure it's properly configured.
  • Check the ~/.claude/projects/<project>/<session>.jsonl file to confirm that the mcp__plugin_imessage_imessage__chat_messages and mcp__plugin_imessage_imessage__reply tools are missing in version 2.1.101.
  • Run claude mcp list to confirm the plugin is connected and healthy.
  • Consider testing the plugin with other channels or versions to isolate the issue.

Example

No code snippet is provided as the issue seems to be related to the version of Claude Code rather than a specific code implementation.

Notes

The issue appears to be specific to version 2.1.101 of Claude Code, and downgrading to 2.1.91 resolves the issue. The root cause of the problem is unclear, but it seems to be related to how the --channels option attaches the plugin in the newer version.

Recommendation

Apply workaround: Downgrade to version 2.1.91, as it is the only known version that works as expected with the imessage plugin. This is because the issue is specific to version 2.1.101, and downgrading has been confirmed to restore the expected behavior.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

claude-code - 💡(How to fix) Fix `--channels <plugin>` no longer exposes plugin MCP tools in v2.1.101 (regression from 2.1.91) [3 comments, 2 participants]