Discord channel plugin: notifications/claude/channel not handled by Claude Code
Summary
The Discord MCP channel plugin sends notifications/claude/channel when an inbound Discord message arrives, but Claude Code does not process or surface these notifications in the active session. This makes the Discord channel plugin non-functional for real-time conversation.
Steps to Reproduce
- Configure the Discord channel plugin (
/discord:configure) with a valid bot token - Complete pairing via
/discord:access - Send a DM to the bot from Discord
- Observe: the bot shows "typing" indicator (proving
sendTyping()fires inhandleInbound), but no response is ever generated
Expected Behavior
The inbound Discord message should appear in the active Claude Code session as a <channel source="discord" ...> tag (as described in the plugin's instructions), triggering the model to respond and reply via the reply tool.
Actual Behavior
- The MCP server receives the message and calls
sendTyping()— Discord shows "typing" - The MCP server sends
mcp.notification({ method: 'notifications/claude/channel', params: { content, meta } }) - Claude Code does not act on this notification — no response is generated
- The user must manually use
fetch_messagesfrom the local terminal to see and reply to Discord messages
Analysis
The Discord plugin declares experimental: { 'claude/channel': {} } capability (server.ts:442) and sends notifications on notifications/claude/channel (server.ts:868-883). The consumer side in Claude Code's harness does not appear to subscribe to or handle this notification method.
Environment
- Claude Code: 2.1.92
- Discord plugin: 0.0.4
- OS: macOS (Darwin 25.4.0)
🤖 Generated with Claude Code
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗