Discord MCP plugin notifications/claude/channel not waking up Claude Code REPL
Resolved 💬 3 comments Opened Mar 24, 2026 by melbyngarcon Closed Mar 27, 2026
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
The Discord MCP server successfully receives inbound DMs via the Discord gateway and calls mcp.notification({ method: 'notifications/claude/channel', ... }) — but Claude Code never surfaces the notification. The REPL stays idle. No errors on either side.
What Should Happen?
Claude Code should surface the notification as an inbound prompt when a DM is received, allowing the model to read and respond to the Discord message.
Error Messages/Logs
No errors on either side. mcp.notification() resolves without error (.catch() never fires). The notification is silently dropped — Claude Code never acts on it.
Steps to Reproduce
- Install and configure the Discord plugin, pair a user via /discord:access
- Confirm outbound works (reply tool sends messages fine)
- 3. Send a DM to the bot from Discord
- 4. Observe: Claude Code does not wake up or display the inbound message
Claude Model
None
Is this a regression?
No, this never worked
Last Working Version
_No response_
Claude Code Version
latest
Platform
Anthropic API
Operating System
Windows
Terminal/Shell
Windows Terminal
Additional Information
Environment:
- Windows 11 (10.0.26200)
- - Claude Code CLI (latest)
- - - Discord plugin v0.0.3 (discord@claude-plugins-official)
What works:
- Bot connects to Discord gateway (login succeeds, ready event fires)
- - All tools work: reply, fetch_messages, react, edit_message, download_attachment
- - - handleInbound() runs without error on message receipt
- - - - mcp.notification() resolves without error (.catch() never fires)
- - - - - Server declares capabilities.experimental['claude/channel'] and 'claude/channel/permission'
What doesn't work:
- notifications/claude/channel is silently dropped — Claude Code never acts on it
Workaround: CronCreate-based polling with fetch_messages every 5 minutes.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗