By uetuluk
WeChat channel for Claude Code — two-way messaging via iLink bot API with permission relay
A Claude Code channel that bridges your personal WeChat account to a Claude Code session via Tencent's iLink bot API. Two-way messaging with permission relay support.
Add the marketplace and install:
# Add the marketplace
/plugin marketplace add uetuluk/cc-wechat
# Install the plugin
/plugin install cc-wechat@cc-wechat
Then start Claude Code with the channel enabled:
claude --channels plugin:cc-wechat@cc-wechat
Note: During the research preview, custom channels require the development flag:
claude --dangerously-load-development-channels plugin:cc-wechat@cc-wechat
git clone https://github.com/uetuluk/cc-wechat.git
cd cc-wechat
bun install
claude --plugin-dir . --dangerously-load-development-channels server:wechat
npm install -g @uetuluk/cc-wechat
On first run, a QR code dialog appears in Claude Code — scan it with WeChat to log in. Credentials are saved locally for subsequent sessions.
WeChat App <-> iLink API (ilinkai.weixin.qq.com) <-> This channel (local) <-> Claude Code (stdio)
The channel runs as an MCP server spawned by Claude Code. It polls WeChat's iLink long-polling endpoint for inbound messages and uses the MCP notification system to forward them to Claude.
<channel source="wechat" from_user_id="..."> tagswechat_reply toolyes <id> or no <id>Edit access.json to restrict which WeChat users can message Claude:
{
"allowed_senders": ["[email protected]"]
}
An empty list allows all senders (useful during initial setup to discover your user ID from the channel tags).
| File | Purpose |
|---|---|
.mcp.json | MCP server config (command + args) |
credentials.json | Saved bot token (auto-created on login) |
access.json | Sender allowlist |
.context-tokens.json | Persisted context tokens for replies |
.poller-state.json | Polling cursor (survives restarts) |
src/
wechat-channel.ts # Entry point: MCP server + orchestration
ilink-client.ts # iLink HTTP client (login, poll, send)
poller.ts # Long-poll loop with cursor management
types.ts # TypeScript types for iLink API
bun install
bun test
bun run typecheck
MIT
Admin access level
Server config contains admin-level keywords
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
npx claudepluginhub uetuluk/cc-wechatWeChat (微信) channel for Claude Code — messaging bridge via iLink Bot API with built-in access control.
WeChat channel for Claude Code via iLink Bot API
WeChat channel for Claude Code — bridge WeChat messages into Claude Code sessions via iLink Bot API with media support.
WhatsApp channel for Claude Code — linked-device messaging bridge with built-in access control. Manage pairing, allowlists, and policy via /whatsapp-claude-channel:access.
Telegram channel for Claude Code — messaging bridge with built-in access control. Manage pairing, allowlists, and policy via /telegram:access.
Memory compression system for Claude Code - persist context across sessions