By Aster110
Connects Claude Code to WeChat so developers can run Claude Code sessions and receive automated replies directly from WeChat messages, using a long-poll daemon to bridge the chat interface with the CLI
Chat with Claude Code from WeChat. Scan a QR code, and your WeChat becomes a Claude Code terminal.
npm install -g @aster110/cc2wechat@latest
Requires Node.js >= 22 and Claude Code installed.
cc2wechat login --name myname
A browser page opens with a QR code. Scan it with WeChat, confirm on your phone. Done.
# Run this in the project directory you want Claude Code to work in
cd ~/my-project
cc2wechat start myname
Now send a message to the linked WeChat account — Claude Code will process it and reply.
cc2wechat stop myname
Each account gets its own port, fully isolated:
cc2wechat login --name work # port 18081
cc2wechat login --name personal # port 18082 (auto-assigned)
cc2wechat start # start all
cc2wechat stop # stop all
cc2wechat status # show all
Users can send these commands in WeChat:
| Command | Effect |
|---|---|
/new | Close current session, open a new one |
/exit or quit | Close current session |
/help | Show help |
cc2wechat login [--name X] Scan QR to login
cc2wechat start [name] Start daemon (one or all)
cc2wechat stop [name] Stop daemon (one or all)
cc2wechat restart [name] Restart daemon
cc2wechat status Show all accounts & daemons
cc2wechat rename old new Rename an account
cc2wechat --text "hello" Reply to current WeChat context
cc2wechat --image /tmp/s.png Send image
cc2wechat --file /tmp/f.pdf Send file
cc2wechat web [name] Open ttyd Web Terminal in browser
cc2wechat help Show help
cc2wechat --version Show version
Optional config file at ~/.claude/channels/wechat-channel/config.json:
{
"delivery": "auto",
"backend": "claude-code",
"port": 18081
}
| Value | Behavior |
|---|---|
"auto" | Auto-detect: iTerm (macOS) > tmux > SDK > Pipe |
"terminal" | Force macOS iTerm AppleScript |
"tmux" | Force tmux session management (requires tmux installed). Auto-starts ttyd Web Terminal for browser access. |
"sdk" | Force Claude Agent SDK |
"pipe" | Force CLI stdin/stdout pipe |
To force tmux delivery on macOS (useful for headless/SSH):
{
"delivery": "tmux"
}
WeChat App --> iLink Bot API (long-poll) --> cc2wechat daemon --> Claude Code (tmux)
| |
v v
WeChat App <-- iLink Bot API (send) <-- Reply via WeChat API ttyd Web Terminal
(browser access)
Delivery x Backend decoupled architecture:
When using tmux delivery, cc2wechat can expose Claude Code sessions via ttyd Web Terminal, allowing you to watch or interact with Claude Code from a browser.
# Open web terminal for a specific account
cc2wechat web myname
The daemon automatically starts a ttyd instance for each tmux session. The URL is shown in cc2wechat status output.
Note: ttyd 1.7.7+ defaults to read-only mode. The daemon starts ttyd with -W flag to enable write access. Install ttyd via brew install ttyd (macOS) or your package manager.
MIT
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 aster110/cc2wechatWeChat channel for Claude Code — bridge WeChat messages into Claude Code sessions via iLink Bot API with media support.
WeChat channel for Claude Code via iLink Bot API
WeChat (微信) channel for Claude Code — messaging bridge via iLink Bot API with built-in access control.
WhatsApp channel for Claude Code — linked-device messaging bridge with built-in access control. Manage pairing, allowlists, and policy via /whatsapp-claude-channel:access.
Memory compression system for Claude Code - persist context across sessions
Standalone image generation plugin using Nano Banana MCP server. Generates and edits images, icons, diagrams, patterns, and visual assets via Gemini image models. No Gemini CLI dependency required.