`--channels <plugin>` no longer exposes plugin MCP tools in v2.1.101 (regression from 2.1.91)
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 listin the same workspace reportsplugin: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: openschat.db, sets the watermark, and begins polling. - The plugin is enabled in
~/.claude/settings.json("enabledPlugins": { "imessage@claude-plugins-official": true }) and appears ininstalled_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-officialv0.1.0
This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗