wechat-claude-code: talking to Claude Code over WeChat
Chat with Claude Code from WeChat - a Claude Code Skill
At a glance
- What is it?
- wechat-claude-code is a Claude Code Skill that bridges a personal WeChat account to the Claude Code CLI running on your own machine, so you can send a task from your phone and read the reply in the chat app. The whole thing runs locally as a Node.js daemon, with a QR code for binding and no server to deploy.
- Who is it for?
- Adopt wechat-claude-code if you drive Claude Code from a desktop and want to hand it a task, or read a result, from your phone over WeChat, and if you are willing to bind a personal WeChat account to a local daemon. Do not adopt it for shared or work accounts, since the binding is to a personal account and the README states the data stays on your machine, and do not expect a Windows path, because the prerequisites list macOS or Linux only.
- Can I use it commercially?
- Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 118 days ago.
- What is it written in?
- Mainly TypeScript, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 20, 2026, and from our analysis. They are not legal advice.
Editorial analysis
What the bridge actually does
The premise is simple. After you bind WeChat by scanning a QR code, a new contact appears in your WeChat. You send it a message, the message is forwarded to the Claude Code running on your computer, and the reply is pushed back to WeChat in real time. The README lists support for sending and receiving text, images, voice and files. The design goal stated in the project title is to chat with Claude Code in WeChat just like texting a friend. The project is MIT licensed, the primary language is TypeScript, the default branch is main, the last push was on 2026-06-27, and there are no GitHub releases. It is packaged as a Claude Code Skill, with a SKILL.md at the repository root and a skills.sh listing badge, which is why the installation instructions are framed around the skills CLI rather than a package manager.
The architecture: four hops, all local except the WeChat side
The README draws the data flow as a single line: the phone on WeChat, the ilink Bot API, the Node.js daemon, and the Claude Code CLI on the local machine. The daemon listens for WeChat messages by long polling, forwards them to the local claude CLI, and streams the reply back to WeChat. The README emphasises that the whole thing runs on your own computer. The distinction that matters for an adopter is where the trust boundary sits. Your messages travel through a platform API, but the code that talks to Claude Code, the working directory it operates in, and the credentials it uses never leave the machine. The daemon is the component that holds all of that, and it is the component you have to keep running.
Installing the skill, two ways
The recommended route is the skills CLI, and the first trigger in a conversation will clone the project source and install its dependencies automatically.
npx skills add Wechat-ggGitHub/wechat-claude-codeThe manual route clones the skill into the skills directory of your home folder and installs the dependencies there.
git clone https://github.com/Wechat-ggGitHub/wechat-claude-code.git ~/.claude/skills/wechat-claude-code
cd ~/.claude/skills/wechat-claude-code && npm installThe package is an ES module TypeScript project, and the build is a plain tsc invocation, with a postinstall hook that runs the build for you. The runtime dependencies are small, qrcode and qrcode-terminal, both there to draw the pairing code.
Binding the account and running the daemon
The first step after installation is setup, which is what produces the QR code you scan in WeChat.
cd ~/.claude/skills/wechat-claude-code
npm run setupA QR code appears and you scan it. Then the daemon is started, and on macOS the README says it registers a launchd agent automatically, so it starts at boot and restarts after a crash.
npm run daemon -- startFrom there you open WeChat and send a message to the new contact. The daemon wrapper is a bash script, scripts/daemon.sh, invoked through the daemon script in package.json, and it accepts the subcommands status, stop, restart and logs, with restart being the one to use after you pull new code.
The command set you can send from the chat window
The README documents a set of slash commands that are sent as ordinary chat messages, which is what makes the bridge feel like a chat rather than a control panel. There is /help to show the help text, /clear to clear the current session and start a new conversation, /stop to stop the running task, /model followed by a name to switch Claude model, /prompt followed by content to set the system prompt, /cwd followed by a path to change the working directory, /skills to list the installed Skills, /status for the current session state, /history with an optional count for recent conversation records, /compact to compact the context and start a new CLI session, /reset to reset everything including the working directory setting, /undo with an optional count to undo recent turns, and /<skill> with parameters to trigger any installed Skill. The combination of /cwd and /prompt is the pair that gives the bridge its power, since it lets you point a task at a particular project and give it instructions in a particular language.
What the bridge filters out, and what it shows you
Two design choices are worth understanding before you rely on it. The first is message filtering. The README lists a feature it calls no screen spam, meaning only core information is pushed, namely progress, results and key decisions, while tool calls and intermediate process are filtered out automatically, and it frames this as keeping the reading experience clean. The second is presence. There is a feature that shows a typing indicator in the chat, so you can tell that Claude is working on the task while you wait. A third is the timeout reassurance, described in the README as a task that goes more than five minutes without a response sending a message to say it is still working, so you are not looking at a blank chat box. The file handling goes both ways as well, so you can send an image, a Word document or a PDF for analysis and receive files Claude generates directly in the chat.
Where the data lives, and the known rough edges
The data directory is documented in full, and the layout tells you what the daemon keeps. Everything is stored under ~/.wechat-claude-code/: an accounts/ directory holding the WeChat account credentials, config.json for global configuration, sessions/ for session data, and logs/ for run logs, which rotate daily and are kept for 30 days. The rough edges are also documented. The README's future plans section opens with message queue optimisation, noting that when several commands are sent in a row the replies can get mixed up, and that a better queue strategy is being researched. The second planned item is not interrupting the computer when it sleeps, using the macOS caffeinate command so the machine stays awake and the bridge still answers with the lid closed. The third is continuing a session, so that a conversation started at the desk can be picked up on the phone with the same workspace and context. Those are the three things to expect to be imperfect today, and the first is the one you will hit first.
Requirements, and the licence and maintenance picture
The prerequisites are four lines: Node.js 18 or newer, macOS or Linux, a personal WeChat account, and Claude Code already installed and authenticated. There is also a note that Claude Code supports third party API providers such as OpenRouter and AWS Bedrock, in which case you set ANTHROPIC_BASE_URL and ANTHROPIC_API_KEY. Windows is not in the supported list, and the launchd registration is macOS specific, so the practical reading is that this is a macOS and Linux tool today even though the daemon script is plain bash. The licence is MIT, with the LICENSE file at the repository root, and the project ships both a Chinese and an English README, README_en.md, plus a docs/ directory and a scripts/ folder. The repository is not archived, and with the last push on 2026-06-27 and no releases, you are tracking the default branch rather than a tagged version.
Editorial conclusion
Adopt wechat-claude-code if you drive Claude Code from a desktop and want to hand it a task, or read a result, from your phone over WeChat, and if you are willing to bind a personal WeChat account to a local daemon. Do not adopt it for shared or work accounts, since the binding is to a personal account and the README states the data stays on your machine, and do not expect a Windows path, because the prerequisites list macOS or Linux only. Before you install, read the daemon subcommands so you know how to stop it, and check the message queue note, because the README says consecutive commands can interleave their replies.
Frequently asked questions
How do I install wechat-claude-code?
The README gives two ways. The recommended one is the skills CLI with npx skills add Wechat-ggGitHub/wechat-claude-code, which clones the source and installs dependencies the first time it is triggered in a conversation. The manual route clones the repository into ~/.claude/skills/wechat-claude-code and runs npm install there.
What do I need before using wechat-claude-code?
The prerequisites are Node.js 18 or newer, macOS or Linux, a personal WeChat account, and the Claude Code CLI already installed and authenticated. The README also notes you can point Claude Code at a third party provider such as OpenRouter or AWS Bedrock by setting ANTHROPIC_BASE_URL and ANTHROPIC_API_KEY.
Where does wechat-claude-code store its data?
Everything is kept under ~/.wechat-claude-code/, with an accounts/ directory for the WeChat account credentials, config.json for global configuration, sessions/ for session data, and logs/ for run logs that rotate daily and are retained for 30 days. The README states that the whole thing runs on your own computer.
Which commands can I send in the WeChat chat?
The README lists /help, /clear, /stop, /model with a name, /prompt with content, /cwd with a path, /skills, /status, /history with an optional count, /compact, /reset, /undo with an optional count, and /<skill> with parameters to trigger an installed Skill.
What is the known limitation of wechat-claude-code?
The README's future plans section states that message queue optimisation is needed, because when several commands are sent in a row the replies can get mixed up. It also lists keeping the computer awake with the macOS caffeinate command and continuing a desktop session from the phone as planned but not yet delivered.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/wechat-gggithub-wechat-claude-code)Was this useful?