Channel plugin MCP notifications not delivered as interrupts (v2.1.83)
Resolved 💬 3 comments Opened Mar 25, 2026 by Naylen Closed Mar 29, 2026
Description
After updating Claude Code to v2.1.83, MCP channel plugin notifications (notifications/claude/channel) are no longer surfaced as <channel> interrupts in the conversation. They were working correctly in the previous version.
Reproduction
- Official Discord channel plugin running, declares
experimental: { 'claude/channel': {} }capability - Plugin sends
mcp.notification({ method: 'notifications/claude/channel', params: { content, meta: { chat_id, message_id, user, ... } } })on incoming messages - Notification sent over stdio transport (confirmed via code inspection) but never appears as a
<channel>interrupt - Tools (fetch_messages, reply, etc.) work fine — plugin is connected and functional
fetch_messagesconfirms messages exist and gate() logic passes correctly
Expected behavior
Incoming Discord messages should appear as <channel source="discord" ...> interrupts in the CLI, as they did in the previous version.
Environment
- Claude Code: 2.1.83
- Plugin: claude-channel-discord (official marketplace plugin, v0.0.4)
- MCP SDK: 1.27.1
- Runtime: Bun (server.ts)
- OS: Ubuntu Linux (x86_64)
Investigation notes
- Plugin process is running and healthy (confirmed via
ps aux) assertNotificationCapabilityin the MCP SDK passes silently fornotifications/claude/channel(no matching case in the switch, falls through without error)- Server capabilities correctly declare
experimental: { 'claude/channel': {} } - All tool calls to the plugin work (fetch_messages, reply, react, etc.)
- Only the push notification delivery path is broken
- Plugin code (
server.ts) is identical between cached v0.0.4 and current marketplace version — no plugin-side changes /mcpreconnect does not resolve the issue
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗