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

cli review

Lark CLI is the official command-line interface for operating Lark and Feishu services such as Messenger, Docs, Base, Calendar, Mail, and Tasks. It gives people and AI agents structured commands for work that would otherwise require the web app or custom Open Platform code.

+144stars / 7d
Verdict

Our Lark CLI install failed after 28 seconds because its installer could not find checksums.txt, so commit 35bd5ec is a poor choice for unattended bootstrap despite the project's broad official coverage. It is still worth evaluating for developers and controlled agents already committed to Lark, especially when dry runs and structured output can sit behind human approval. Wait or use an official SDK if setup must be repeatable today, credentials must live in your own service, or no local machine can remain involved.

We ran it

Lab card: what happened when we ran cliScreenshot of cli (github.com/larksuite/cli)
Install✗ · 28s
Build
Repo3082 files~649,888 lines of source · 28.3 MB · 11 CI workflows · tests dir

Answers from our run

Does cli build from source?

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

Who should not use cli?

Anyone who needs a cloud-native connector with no local machine: open issue #2527 asks for an official remote MCP endpoint because this project is a locally installed CLI.

What are the alternatives to cli?

Lark OpenAPI Go SDK, Lark Node SDK, n8n. Our Lark CLI install failed after 28 seconds because its installer could not find `checksums.

Setup1/528-second install failed because checksums.txt was missing
Docs4/5Commands, auth, output, enterprise use, and risks are documented
Community4/516,774 stars and same-day issue and pull request activity
Maturity3/5v1.0.90 is active, but install and credential reports remain

Who it’s for

Developers who already use Lark or Feishu and want repeatable terminal commands for daily work.
Teams building an AI agent that needs structured access to Lark data and actions.
Enterprise platform engineers willing to wrap the CLI with centralized credentials, audit logs, and a restricted command set.
Operators who need JSON, NDJSON, CSV, or table output for shell automation.

Who it’s NOT for

Anyone who needs a cloud-native connector with no local machine: open issue #2527 asks for an official remote MCP endpoint because this project is a locally installed CLI.
New users expecting one login button: the documented path requires app configuration and a separate browser authorization, and issue #6 calls the first-run state confusing.
Teams unwilling to give an agent access to company messages, files, calendars, or mail: the README warns that granted permissions can expose data or allow unauthorized operations.
Windows teams that require proven credential persistence across every setup: issue #1552 reports successful OAuth followed by a missing token in Windows Credential Manager.
Users expecting npm installation to be dependable in every clean container: our install stopped because the checkout had no checksums.txt at the path required by its installer.

Setup reality

Our sandbox install at commit 35bd5ec failed with exit 1 after 28 seconds. The 28.3 MB checkout contained 3,082 files and about 649,888 lines of source. The installer stopped because /work/repo/checksums.txt was missing, so it refused to install lark-cli under its security policy.

A working setup still needs a Lark or Feishu app, browser-assisted configuration, OAuth login, and the correct Open Platform scopes. The README separates config init from auth login; agents must hand the user an authorization URL for each interactive stage.

The npm route needs Node.js and downloads the CLI binary. Building from source adds Go 1.23 or newer plus Python 3, followed by a separate global Skills install. The repository has 11 CI workflow files and a tests directory, but no Dockerfile.

More than 200 commands cover most of a Lark workspace

Lark CLI puts Messenger, Docs, Drive, Base, Sheets, Calendar, Mail, Tasks, Meetings, approvals, and other Lark services behind one command tree. The README describes more than 200 curated commands and raw access to over 2,500 Open Platform APIs. People get shortcuts such as calendar +agenda; automation gets JSON, NDJSON, CSV, or table output with separate success and error streams.

The command model has 3 layers. Shortcuts add defaults, generated API commands map closely to platform endpoints, and api accepts a method plus an Open Platform path. A schema command reports parameters, request bodies, supported identities, and required scopes. An operator can begin with a familiar action and drop down to a raw request when the shortcut stops being enough.

The 26 agent skills still depend on a local command

The README lists 26 agent skills across common Lark domains and workflows. They teach an agent how to find calendar openings, send messages, manipulate documents, work with Base records, inspect mail, and produce meeting summaries. Default JSON envelopes and nonzero exits give an agent clearer evidence than prose copied from a terminal screen.

It remains a local CLI. Open issue #2527 asks Lark to provide an official OAuth-based remote MCP endpoint for mobile and cloud assistants that cannot depend on a computer running this package. The boundary is plain: the agent needs a host where the binary, credentials, and skill files can live. A cloud service needs its own worker or a different integration.

What happened when we ran it

Our sandbox install at commit 35bd5ec failed with exit 1 after 28 seconds. The last log lines say checksums.txt was absent at /work/repo/checksums.txt. The install script treated that as a security failure and did not install lark-cli. It then printed proxy and corporate registry suggestions, but the log does not establish that a firewall, mirror, or network restriction caused the missing local file.

The checkout itself was 28.3 MB, with 3,082 files and roughly 649,888 lines of source. We found 11 CI workflow files, no Dockerfile, and a tests directory. Those signals do not turn the failed npm step into a pass. We did not get a usable CLI from the measured install, so buyers should reproduce the exact installation route they intend to automate.

Two browser stages stand between install and the first call

The quick start runs config init and then auth login. Both stages can require the user to open an authorization URL in a browser. The first configures a Lark or Feishu app, while the second grants user scopes. Issue #6 describes 7 steps and several intermediate states that can confuse a newcomer, including an app awaiting approval, no logged-in user, and device polling that has not finished.

Scope selection also needs care. Login can request recommended permissions, a domain such as Calendar, or one exact scope. Issue #1081 shows why the distinction matters: a CLI domain may exist even when the configured app cannot request that domain's permissions. auth scopes and auth check are useful preflight commands. An enterprise wrapper should make the allowed identity and scope set explicit instead of letting every agent request the broad recommendation.

Dry runs help, while authorized writes can still expose company data

Side-effecting shortcuts support --dry-run, pagination has page and delay limits, and the JSON contract separates data on stdout from typed errors on stderr. A preview can catch a wrong chat ID or request body before a message, calendar event, or record is changed. It cannot tell whether the underlying instruction was socially appropriate.

The README gives an unusually direct warning: an agent using granted permissions can leak sensitive data or perform unauthorized operations. It recommends a private conversational bot and says not to add that bot to group chats or let other users interact with it. Requests to official Lark or Feishu HTTPS domains include the operating system type and device hardware model for risk control by default; a workspace setting can disable that signal.

Release v1.0.90 is fresh, but setup defects deserve a local proof

GitHub recorded 16,774 stars, 1,350 forks, and 605 combined open issues and pull requests when fetched. The repository was pushed on August 26, 2026, one day after release v1.0.90. That release added keychain-backed tenant access tokens among several domain changes. The combined open count cannot be read as 605 bugs.

Credential behavior still varies by platform. Open issue #1552 reports that OAuth completed on Windows 24H2, yet the token did not persist to Windows Credential Manager and auth status returned no_token. That report concerns v1.0.56, so it is a reason to test the current release on managed Windows machines rather than proof that v1.0.90 has the same defect. Our failed 28-second installation makes that platform proof more important.

Use it when Lark breadth outweighs bootstrap friction

Lark CLI has a convincing interface for a developer or supervised agent that works across several Lark products. The 3 command layers, schema lookup, dry runs, structured errors, and identity selection address real automation problems. Official ownership also matters when API metadata and product domains change quickly.

The immediate adoption decision is less flattering. commit 35bd5ec did not install in our clean 3-CPU, 8 GB container because the required checksum file was missing, and first use still crosses app setup, OAuth, and scope selection. Trial it on the exact operating system and registry path you will deploy. Choose an official SDK when you need a service-owned credential model or a remote process with no resident CLI.

Alternatives

ProjectWhat it isPick it when
Lark OpenAPI Go SDKThe official Go SDK for calling Lark Open Platform APIs inside an application.pick this instead when you need an embedded integration with explicit request handling rather than shell commands.
Lark Node SDKThe official Node.js SDK for building a custom Lark application or service.pick this instead when your Node service should own authentication, retries, and business logic directly.
n8n gh↗A visual workflow automation platform with hosted and self-hosted deployment options.pick this instead when non-developers need visible workflows and a broader connector catalog more than Lark's full command surface.

What people are saying

  1. [velocity-scout] angular/angular-cli
  2. [github-trending] stripe/link-cli
  3. [github-trending] aws/agentcore-cli
  4. [github-trending] bbernhard/signal-cli-rest-api
  5. [github-trending] google-gemini/gemini-cli
  6. [github-trending] larksuite/cli

Sources

  1. Lark CLI README
  2. Lark CLI repository facts
  3. Lark CLI v1.0.90 release
  4. First-run setup and login issue #6
  5. Windows credential persistence issue #1552
  6. Remote MCP request issue #2527
  7. Slides scope diagnostics issue #1081

More automation reviews

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