v0.2.1 — fix: declare experimental.claude/channel capability
·
3 commits
to main
since this release
Fixed
- 0.2.0 shipped the auto-push watcher but Claude Code silently dropped every
notifications/claude/channelevent because the server never declared the matching experimental capability in itsinitializeresponse. 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 thenetsky-ioreference 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.rsasserts the capability appears in the in-process handler's reply. tests/stdio_smoke.rsasserts the same on the full stdio wire so the binary can't drift away from the unit path.
Upgrade
cargo install dkdc-io-imessage --forceAnyone on 0.2.0 should upgrade — watch mode is non-functional there against Claude Code.