mrkeyoor.com_
Sun 20 Sept 17:47 UTC
Dev Toolsevaluationupdated 20 Sept 2026

wx-cli review

wx-cli's main README and user documentation are in Chinese, and the repository has no separate English README. It is an Apple Silicon macOS command-line tool that decrypts your local WeChat databases, then exposes chats, contacts, media, search, and live events to you or an agent.

Verdict

Our wx-cli run installed 274 packages and passed all 1,411 tests, but the supported runtime is still limited to Apple Silicon macOS. Use it if you need local, programmable access to your own WeChat history and can accept the SIP, privacy, and account-risk tradeoffs. Keep looking if contact hiding must cover every search path or if changing host security settings is off the table.

We ran it

Lab card: what happened when we ran wx-cliScreenshot of wx-cli (github.com/pandorafuture/wx-cli)
Install✓ · 9s274 packages
Build✓ · 105s
Tests✓ · 258s1411 passed · 0 failed of 1411 (cargo test)
Repo195 files~43,668 lines of source · 1.6 MB · 2 CI workflows

Answers from our run

Does wx-cli build from source?

Dependencies installed in 9 seconds (274 packages), and the build succeeded in 105 seconds. We cloned commit 2abe708 into a clean Debian container with 3 CPUs and no project-specific setup.

Do wx-cli's tests pass?

Yes: 1411 of 1411 passed when we ran the project's own test command (cargo test). Some failures need services or credentials a bare container does not have.

Who should not use wx-cli?

Windows, Linux, or Intel Mac users: the README supports only Apple Silicon macOS, and issue 17 is still a request for Windows support.

What are the alternatives to wx-cli?

wechat-cli, wx-cli-again, WeChatMsg. Our wx-cli run installed 274 packages and passed all 1,411 tests, but the supported runtime is still limited to Apple Silicon macOS.

Setup2/5Cargo passes; live extraction needs macOS security changes
Docs3/5Detailed Chinese guide, but no separate English README
Community3/5805 stars with active August and September issue traffic
Maturity3/5v0.7.4 works broadly, but extraction reports still vary

Who it’s for

Apple Silicon Mac users who need searchable access to their own WeChat history.
Developers building a local assistant, archive, or workflow around WeChat's local data.
Rust teams willing to inspect the decryption and query code before trusting it with private chats.
Claude Code, Codex, or Cursor users who want an installable agent skill instead of writing the query layer themselves.

Who it’s NOT for

Windows, Linux, or Intel Mac users: the README supports only Apple Silicon macOS, and issue 17 is still a request for Windows support.
Anyone unwilling to change macOS security settings: the documented key-extraction path requires SIP to be disabled, even though issue 20 reports one ad-hoc-signed setup working with SIP enabled.
Users who assume hidden contacts stay hidden everywhere: the README says contact-hiding rules do not apply to full-text search.
People who cannot accept possible account disruption from an unofficial WeChat integration: issue 16 reports an account block after use, although that report does not establish that wx-cli caused it.
English-only operators who need complete setup and recovery instructions: the main documentation is Chinese and there is no separate English README.

Setup reality

At commit 2abe708, our sandbox installed 274 packages in 9 seconds, built in 105 seconds, and passed all 1,411 Cargo tests in 258 seconds. The checkout had 195 files, about 43,668 source lines, and occupied 1.6 MB before dependencies.

Useful operation needs a logged-in WeChat installation, access to its local files, database keys, and a place to store decrypted caches. LLDB extraction also calls for Apple developer-tool setup. The local path needs no cloud credential; binding the REST server beyond localhost requires a token.

The lab result proves the Rust workspace compiles on fresh Debian, not that the product runs there. The README supports Apple Silicon macOS and WeChat 4.1.7 or newer. Its standard extraction instructions require disabling SIP, and voice extraction needs ffmpeg.

WeChat 4.1.7 or newer is the only supported lane

wx-cli supports WeChat 4.1.7 and newer on Apple Silicon macOS. It reads the application's local databases, decrypts them, and gives you commands for conversations, contacts, keyword search, media, exports, and new-message watching. A local server exposes the same material through REST and server-sent events. That is a useful shape for an assistant or archive because the original chat database stays on the Mac instead of being uploaded to a conversion service.

The main README and user guide are written in Chinese, with no separate English README in the repository tree. Commands and API paths are easy to recognize, but the security warnings, failure recovery, and privacy limits require careful translation if you do not read Chinese. The project carries an MIT license. GitHub showed 805 stars and 11 combined issues and pull requests when we fetched it, so the audience is real but still small.

The v1 API can read a timeline across every chat

The v1 REST API includes a timeline route that returns messages from all conversations inside a time window. That saves an agent from walking through each session merely to catch up after a pause. Other endpoints cover sessions, contacts, messages, search, media, and an SSE event stream. The command line can reuse a server already listening on 127.0.0.1:9100, which also avoids reopening databases for every frequent query.

There is an installable agent skill for Claude Code, Codex, and Cursor. The skill teaches the client how to query history and subscribe to new messages, while the API remains the durable boundary underneath it. wx-cli does not send messages itself. The README discusses pairing it with some other sending or agent capability, but that is an example of what a user could build, not a feature supplied here.

What happened when we ran it

Our sandbox installed 274 packages in 9 seconds at commit 2abe708. The Rust build completed in 105 seconds, and cargo test finished in 258 seconds with all 1,411 tests passing. The repository contained 195 files and about 43,668 lines of source in a 1.6 MB checkout. There were 2 CI workflow files, no Dockerfile, and no top-level tests directory.

That is one of the cleaner lab results in this batch, but it covers the Rust workspace in a fresh Debian container. It does not prove key extraction or database compatibility on a Mac with a real WeChat account. The product's supported platform is macOS on arm64, while our 3-CPU, 12 GB container measured install, compilation, and tests. Treat the successful suite as code-health evidence, then test the whole account workflow on a spare copy of your data.

A 120-second key capture asks for a security trade

The example extraction command allows 120 seconds for an LLDB hook to capture the database key while WeChat logs in. The README says the normal path requires System Integrity Protection to be disabled, plus developer-tool access and Apple's command-line tools. Extraction restarts WeChat. If you already have the keys, you can enter them manually and avoid that extraction step.

Issue 20 complicates the blanket SIP requirement. Its reporter says extraction worked on WeChat 4.1.13 with SIP enabled after ad-hoc signing the app and preserving entitlements, yet the current preflight still rejects that setup. Issue 19 reports a 120-second timeout even though login succeeded. Those are user reports, not controlled results from our lab, but they show why the passing 1,411-test suite cannot settle whether extraction will work on your machine.

Contact hiding does not cover full-text search

The v1 server can bind to localhost for private use or to 0.0.0.0 with a required token. That token matters because the service exposes private conversations, contacts, images, and live events. The tool also stores keys and settings under Application Support and keeps decrypted databases in a cache directory. Anyone backing up the Mac or granting an agent broad file access should treat both locations as sensitive.

Contact-hiding rules can exclude named contacts, groups, tags, or group members from queries, exports, and monitoring. The README names a sharp exception: full-text search does not automatically apply those rules. An agent with search access can therefore retrieve material that another command hides. That gap makes the feature unsuitable as a hard authorization boundary. Run different trust levels under separate data access rather than relying on one ignore list.

v0.7.4 is maintained, while account risk remains unresolved

Release v0.7.4 shipped on July 22, 2026, and added avatar URLs plus image-quality metadata. The repository was pushed again on August 26. New issues arrived in late August and September, including Windows support, key-capture timeouts, and the SIP preflight report. Recent source activity plus current issue traffic is a better health sign than the release date alone.

Issue 16 says one user on wx-cli 0.3.0 and WeChat 4.1.11 had an account blocked after using the tool for a short period. The report does not prove what caused the block, so it would be wrong to turn it into a universal warning that wx-cli triggers bans. It still belongs in the buying decision. Use a tool that reaches into an unsupported client process only when the value of searchable local history outweighs host changes and uncertain account consequences.

Alternatives

ProjectWhat it isPick it when
wechat-cliAnother command-line interface for local WeChat history, contacts, sessions, and favorites.pick this instead when its supported WeChat and macOS combination matches your machine more closely.
wx-cli-againA newer Rust fork focused on querying, decrypting, and exporting WeChat local data.pick this instead when you want an actively pushed fork and are prepared to compare its compatibility and migration notes.
WeChatMsgA desktop-oriented project for extracting and presenting WeChat chat history.pick this instead when a graphical archive and analysis workflow matters more than a local REST and SSE service.

What people are saying

  1. [github-trending] pandorafuture/wx-cli
  2. [velocity-scout] jackwener/wx-cli-again

Sources

  1. wx-cli README
  2. wx-cli v0.7.4 release
  3. Issue 20: SIP-enabled extraction report
  4. Issue 19: key extraction timeout
  5. Issue 16: account block report

More dev tools reviews

neomacs · smolvm · pingora · modern-software-dev-assignments · skills · Apktool · the whole board →