docs/channels/wechat.md
OpenClaw connects to WeChat through Tencent's external
@tencent-weixin/openclaw-weixin channel plugin.
Status: external plugin. Direct chats and media are supported. Group chats are not advertised by the current plugin capability metadata.
openclaw-weixin is the OpenClaw channel id.@tencent-weixin/openclaw-weixin is the npm package.Use openclaw-weixin in CLI commands and config paths.
The WeChat code does not live in the OpenClaw core repo. OpenClaw provides the generic channel plugin contract, and the external plugin provides the WeChat-specific runtime:
openclaw plugins install installs @tencent-weixin/openclaw-weixin.openclaw-weixin.openclaw channels login --channel openclaw-weixin starts QR login.That separation matters: OpenClaw core should stay channel-agnostic. WeChat login, Tencent iLink API calls, media upload/download, context tokens, and account monitoring are owned by the external plugin.
Quick install:
npx -y @tencent-weixin/openclaw-weixin-cli install
Manual install:
openclaw plugins install "@tencent-weixin/openclaw-weixin"
openclaw config set plugins.entries.openclaw-weixin.enabled true
Restart the Gateway after install:
openclaw gateway restart
Run QR login on the same machine that runs the Gateway:
openclaw channels login --channel openclaw-weixin
Scan the QR code with WeChat on your phone and confirm the login. The plugin saves the account token locally after a successful scan.
To add another WeChat account, run the same login command again. For multiple accounts, isolate direct-message sessions by account, channel, and sender:
openclaw config set session.dmScope per-account-channel-peer
Direct messages use the normal OpenClaw pairing and allowlist model for channel plugins.
Approve new senders:
openclaw pairing list openclaw-weixin
openclaw pairing approve openclaw-weixin <CODE>
For the full access-control model, see Pairing.
The plugin checks the host OpenClaw version at startup.
| Plugin line | OpenClaw version | npm tag |
|---|---|---|
2.x | >=2026.3.22 | latest |
1.x | >=2026.1.0 <2026.3.22 | legacy |
If the plugin reports that your OpenClaw version is too old, either update OpenClaw or install the legacy plugin line:
openclaw plugins install @tencent-weixin/openclaw-weixin@legacy
The WeChat plugin can run helper work beside the Gateway while it monitors the Tencent iLink API. In issue #68451, that helper path exposed a bug in OpenClaw's generic stale-Gateway cleanup: a child process could try to clean up the parent Gateway process, causing restart loops under process managers such as systemd.
Current OpenClaw startup cleanup excludes the current process and its ancestors, so a channel helper must not kill the Gateway that launched it. This fix is generic; it is not a WeChat-specific path in core.
Check install and status:
openclaw plugins list
openclaw channels status --probe
openclaw --version
If the channel shows as installed but does not connect, confirm that the plugin is enabled and restart:
openclaw config set plugins.entries.openclaw-weixin.enabled true
openclaw gateway restart
If the Gateway restarts repeatedly after enabling WeChat, update both OpenClaw and the plugin:
npm view @tencent-weixin/openclaw-weixin version
openclaw plugins install "@tencent-weixin/openclaw-weixin" --force
openclaw gateway restart
Temporary disable:
openclaw config set plugins.entries.openclaw-weixin.enabled false
openclaw gateway restart