mrkeyoor.com_
Tue 01 Sept 17:40 UTC
Automationevaluationupdated 26 Aug 2026

wecom-cli review

wecom-cli is a command-line client for WeCom whose README and command guidance are primarily Chinese, with no English README linked. It lets people and AI agents work with messages, mail, documents, spreadsheets, tasks, calendars, meetings, cloud-drive files, and contacts from a terminal.

+28stars / 7d
Verdict

Our wecom-cli installation stopped after 6 seconds with a Corepack wrapper error, so commit 59604ae never reached build or tests in our sandbox. The published CLI is still worth a guarded trial for a Chinese-speaking WeCom user who needs broad office automation, but its write paths require read-back checks and human approval. Do not give an unattended agent permission to send mail or update business data until silent-success cases are ruled out for your commands.

We ran it

Lab card: what happened when we ran wecom-cliScreenshot of wecom-cli (github.com/WecomTeam/wecom-cli)
Install✗ · 6s
Build
Repo428 files~54,949 lines of source · 3.4 MB · 0 CI workflows

Answers from our run

Does wecom-cli build from source?

The dependency install failed, and the project has no separate build step. We cloned commit 59604ae into a clean Debian container with 3 CPUs and no project-specific setup.

Who should not use wecom-cli?

Agents that must draft email without sending it: issue 118 says mail send delivers immediately and has no server-side draft mode.

What are the alternatives to wecom-cli?

WeCom Open APIs, Wechaty, CLI for Microsoft 365. Our wecom-cli installation stopped after 6 seconds with a Corepack wrapper error, so commit 59604ae never reached build or tests in our sandbox.

Setup1/5Install stopped in Corepack before dependencies or build
Docs3/5Broad Chinese command docs, with behavior gaps surfaced in issues
Community4/52,965 stars and active issue reports after an August push
Maturity2/5Wide API coverage, but no CI and several silent-result reports

Who it’s for

Chinese-speaking WeCom users who want scriptable access to office data.
Agent operators who can put approval checks around mail, document, calendar, and message actions.
Developers willing to authenticate by QR code and inspect command schemas before writing production automation.
Small teams testing the APIs exposed to their specific WeCom corporation.

Who it’s NOT for

Agents that must draft email without sending it: issue 118 says mail send delivers immediately and has no server-side draft mode.
Workflows that trust a zero error code as proof of a write: issue 115 reports linked smart-sheet fields being silently discarded with errcode=0.
Corporations assuming every chat command is available: issue 106 reports chat APIs returning “not available” for an organization with more than 10 people.
English-only operators: the README, issue discussion, and command descriptions are Chinese-first.

Setup reality

Our sandbox install failed after 6 seconds, before any packages were installed. Corepack's pnpm 11.21.0 wrapper threw TypeError: Invalid host defined options; the log identified its runtime as Node.js 18.20.8. Because install stopped, we did not run a build or tests.

The published user path requires Node.js 18 or newer, global installation of @wecom/cli, a required CLI skill, a WeCom account, and one-time interactive authorization. Bot ID and secret are optional for the features that use an intelligent bot.

The source is a pnpm monorepo with 428 files and about 54,949 source lines. Our scan found 0 CI workflows, no Dockerfile, and no tests directory. Available commands and permissions also depend on the WeCom corporation and platform APIs.

One CLI covers most of the WeCom office surface

wecom-cli exposes a surprisingly wide set of business actions. It can send bot messages, search and send mail, create and edit online documents, work with ordinary and smart spreadsheets, manage tasks and calendars, schedule meetings, transfer cloud-drive files, and search the corporate directory. The README positions it for humans and AI agents, with a required skill package installed separately through npx skills add.

The documentation is Chinese first and does not link an English README. Command names and JSON schemas may still be readable to an English-speaking developer, but authentication instructions, permission nuances, and issue reports require Chinese. That matters because this CLI changes business systems. A missed caveat can send an email, alter a record, book a room, or notify a group rather than merely returning a poor chat response.

Authentication is interactive and capabilities vary by corporation

The normal path installs @wecom/cli globally, installs the agent skill, then runs wecom-cli auth init. QR authorization is the default, with manual credential entry available. A WeCom account is required; an intelligent Bot ID and secret are optional for bot-backed functions. auth show reports the resulting state. The README supports macOS and Linux on x64 or arm64, plus 64-bit Windows, with Node.js 18 or newer.

Authorization does not mean every command is enabled. Issue 106 reports successful authentication in a corporation with more than 10 people, while chat list commands return error 853006 saying the tool is unavailable. The reporter notes conflicting product statements about organization-size limits. Before designing an agent workflow, run a read-only capability probe for each domain and record the exact corporation policy rather than assuming README coverage equals tenant access.

What happened when we ran it

Our install stopped after 6 seconds with exit code 1. Corepack launched the pnpm 11.21.0 wrapper, which failed at its dynamic import with TypeError: Invalid host defined options. The final line identified Node.js 18.20.8. The log does not prove why those host options were invalid, so we are not assigning the failure to pnpm, Corepack, the image label, or repository configuration.

No dependencies were installed. Because installation failed, our harness did not run a build and did not run tests. The requested sandbox image was lab-node:22, while the failure log itself reported Node.js 18.20.8; that discrepancy is observable, but the tail does not explain it. The useful result is that commit 59604ae did not complete the documented pnpm source path in our fresh unprivileged container.

The checkout contained 428 files, about 54,949 source lines, and 3.4 MB before installation. It was organized as a pnpm workspace. Our scan found no GitHub Actions workflow files, Dockerfile, or tests directory. Those absences do not establish that the npm package is broken, but they leave a source contributor with little visible automation after an install failure.

Successful responses can still hide missing spreadsheet data

Issue 115 reports that smart-sheet record creation and updates silently discard values for two-way-link and reference fields. The CLI returns errcode=0, including for clearly invalid relationship values, but a subsequent read shows null. Text, select, person, checkbox, and date fields reportedly work in the same test. Automation that treats the response code as completion could therefore leave cross-table relations missing without raising an alert.

Issue 116 describes another silent result. CSV mode returns an empty string once a sheet reaches roughly 48,000 to 49,000 characters, even though default mode still retrieves the content through an asynchronous file. The reporter reproduced the behavior across four fresh sheets and says shrinking a damaged sheet did not restore CSV output. Read-before-write agents should regard an empty CSV response as ambiguous and cross-check with default mode.

Mail commands need an approval boundary before execution

Issue 118 says mail send sends the message immediately. Its --dry-run option validates local parameters but creates no server-side draft, so an agent cannot prepare a reply in WeCom for later human approval. The issue's current workaround is to write the body to a local file and copy it into the client, losing reply context. For formal mail, that inconvenience is safer than granting an autonomous process final-send authority.

Issue 117 adds an identity concern. Mail sent through the CLI reportedly shows the sender as the authorized person's robot, including a bot badge, even though replies return to the person's mailbox. That may be desirable traceability, but it is unsuitable when recipients expect a human display name. Test both delivery and recipient-visible identity before using the command with managers, customers, or external partners.

Document coverage has specific format limits

The README lists creation, import, reading, appending, overwriting, search, renaming, permissions, and membership rules across several WeCom document types. Issue 121 narrows that claim: it says body reading currently works for word-processing documents, spreadsheets, and smart sheets, while mind maps, presentations, and flowcharts are unsupported. An agent asked to summarize “a document” therefore needs to inspect its type first.

GitHub showed 2,965 stars, 33 combined issues and pull requests, and a last push on August 25, 2026. The API returned no latest GitHub release, but current source activity and issue reports show the project is not abandoned. The right adoption pattern is still cautious: start with searches and reads, verify every tenant capability, add read-back checks, and keep sending or destructive updates behind explicit approval.

Alternatives

ProjectWhat it isPick it when
WeCom Open APIsTencent's official HTTP APIs for building a purpose-specific WeCom integration.pick this instead when you need a small, reviewed integration with explicit permissions and response handling.
WechatyA conversational automation SDK for building bots across supported chat protocols.pick this instead when messaging bots are the job and office documents, mail, and calendars are outside scope.
CLI for Microsoft 365A command-line automation client for Microsoft 365 services.pick this instead when your organization uses Microsoft 365 rather than WeCom.

What people are saying

  1. [github-trending] WecomTeam/wecom-cli

Sources

  1. wecom-cli repository and README
  2. Issue 106: corporate chat capability unavailable
  3. Issue 115: smart-sheet linked values silently discarded
  4. Issue 116: CSV mode returns empty content
  5. Issue 118: mail draft mode request
  6. Issue 121: unsupported document body formats

More automation reviews

rclone · lego · OpenCLI · web-access · Karabiner-Elements · WiiUDownloader · the whole board →