Skip to content

v0.2.1 — fix: declare experimental.claude/channel capability

Choose a tag to compare

@lostmygithubaccount lostmygithubaccount released this 18 Apr 02:40
· 3 commits to main since this release
c789f29

Fixed

  • 0.2.0 shipped the auto-push watcher but Claude Code silently dropped every notifications/claude/channel event because the server never declared the matching experimental capability in its initialize response. End result: the watcher was working but the LLM never saw a thing.
  • 0.2.1 adds capabilities.experimental["claude/channel"] = {} to the initialize reply, matching Anthropic's TypeScript iMessage plugin and the netsky-io reference implementation. Inbound iMessages from allowlisted handles now surface as channel events within the first poll tick (~750 ms).

Regression guards

  • Unit test in crates/imessage-mcp/src/mcp.rs asserts the capability appears in the in-process handler's reply.
  • tests/stdio_smoke.rs asserts the same on the full stdio wire so the binary can't drift away from the unit path.

Upgrade

cargo install dkdc-io-imessage --force

Anyone on 0.2.0 should upgrade — watch mode is non-functional there against Claude Code.