iMessage plugin: notifications/claude/channel not delivered to conversation
Resolved 💬 3 comments Opened Apr 11, 2026 by KBH222 Closed Apr 14, 2026
Summary
The iMessage plugin's poll loop detects new messages in chat.db correctly, but notifications/claude/channel notifications are never surfaced in the conversation. This means inbound iMessages don't auto-alert — the user must manually invoke chat_messages to see new texts.
Environment
- Claude Code CLI (terminal), version 1.569.0
- macOS Darwin 24.6.0
- Plugin:
imessagev0.0.1 (official, from claude-plugins-official) - bun runtime
Reproduction
- Configure iMessage plugin with Full Disk Access granted, allowlist policy, self-chat
- Start Claude Code session — plugin spawns and poll loop starts (
setInterval(poll, 1000)) - Send an iMessage to yourself from your phone
- Expected: Message appears in conversation automatically via
notifications/claude/channel - Actual: No notification delivered. Conversation is never alerted.
- Calling
chat_messagestool manually returns the message — proving the DB connection and query work fine.
Diagnosis
- Plugin process is running (confirmed via
ps aux) chat.dbis readable (Full Disk Access granted)- Poll query (
qPoll) uses the same DB connection aschat_messages(qHistory) — both see new rows handleInboundfilters are correct:is_from_me=0passes, self-chat detected,consumeEchoreturns false (no prior echo), message proceeds tomcp.notification()- The notification call (
mcp.notification({ method: 'notifications/claude/channel', ... })) executes without error but the conversation never receives it - Persists across restarts — restarting Claude Code (and thus the plugin) does not fix it
- Outbound works fine —
replytool sends messages via osascript successfully
Workaround
Manually call chat_messages tool to check for new messages when prompted by the user.
🤖 Filed with Claude Code
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗