By zyue79439
WeChat (微信) channel for Claude Code — messaging bridge via iLink Bot API with built-in access control. Manage pairing and allowlists via /weixin:access.
Chat with Claude Code from WeChat via Tencent's official iLink Bot API.
git clone https://github.com/user/claude-code-weixin.git
cd claude-code-weixin
bun install
Add to your project .mcp.json (or ~/.claude.json for global):
{
"mcpServers": {
"weixin": {
"command": "bun",
"args": ["run", "--cwd", "/path/to/claude-code-weixin", "--shell=bun", "--silent", "start"]
}
}
}
claude --dangerously-load-development-channels server:weixin
On first run, the plugin prints a QR code URL to stderr. Open it in a browser and scan with WeChat to authenticate.
Send any message to the bot from WeChat. You'll receive a 5-letter pairing code. In Claude Code, run:
/weixin:access pair <code>
Done! Messages you send on WeChat will now appear in Claude Code, and Claude will reply back to you on WeChat.
The plugin supports four DM policies:
| Policy | Behavior |
|---|---|
pairing (default) | New users must pair via code before chatting |
allowlist | Only pre-approved user IDs can chat |
open | Anyone can chat (not recommended) |
disabled | All incoming messages are dropped |
Manage access with the /weixin:access skill:
/weixin:access # Show status
/weixin:access pair <code> # Approve a pairing
/weixin:access deny <code> # Reject a pairing
/weixin:access allow <userId> # Add user to allowlist
/weixin:access remove <userId> # Remove user from allowlist
/weixin:access policy <mode> # Set DM policy
WeChat User <--> iLink Bot API <--> Plugin (MCP Server) <--> Claude Code
(long-poll) (Bun + stdio) (session)
getupdates, forwards messages as MCP channel notificationsreply tool, plugin sends via sendmessage API~/.claude/channels/weixin/ (credentials, access config, context tokens)| File | Purpose |
|---|---|
credentials.json | Bot token and login info (auto-created on QR login) |
access.json | Allowlist and pending pairing codes |
context_tokens.json | Per-user context tokens for reply routing |
bot.pid | Process ID for orphan detection |
This plugin uses Tencent's official iLink Bot API (ilinkai.weixin.qq.com) which provides legitimate bot access to personal WeChat accounts. The API uses:
getupdates)sendmessage)The plugin runs as an MCP server connected to Claude Code via stdio. It declares the claude/channel experimental capability so Claude Code registers it as a channel and displays incoming messages in the session.
MCP shows "failed": Kill stale bun processes (pkill -f 'bun.*weixin') and reconnect via /mcp.
QR code expired: Delete ~/.claude/channels/weixin/credentials.json and restart.
Messages not arriving: Check that your user ID is in the allowlist (/weixin:access).
Session expired (-14): The plugin auto-detects this and triggers re-login with a new QR code.
Apache 2.0
Admin access level
Server config contains admin-level keywords
Based on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
npx claudepluginhub zyue79439/claude-code-weixinWeChat (微信) 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.
LINE channel for Claude Code — messaging bridge with built-in access control. Manage pairing, allowlists, and policy via /line:access.
Memory compression system for Claude Code - persist context across sessions