CLI tool
larksuite/cli avatar
larksuite/cli

lark-cli: The Official Lark CLI That Treats AI Agents as First-Class Users

The official Lark/Feishu CLI tool, maintained by the larksuite team, built for humans and AI Agents. Covers core business domains including Messenger, Docs, Base, Sheets, Calendar, Mail, Tasks, Meetings, and more, with 200+ commands and 20+ AI Agent Skills.

18,111 stars1,377 forksGoMIT

At a glance

What is it?
lark-cli is the official command-line tool for Lark/Feishu, covering 18 business domains with 200+ commands and 26 AI Agent Skills. It is designed for both humans and AI agents, with structured output and injection protection, but its breadth and agent focus come with trade-offs.
Who is it for?
Adopt lark-cli if you are an individual developer or an AI agent builder who needs direct, scriptable access to Lark's core domains without writing custom API wrappers. The npm install path and interactive login make it approachable for humans, while the structured output and Skills are clearly aimed at agent workloads.
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 1 day ago.
What is it written in?
Mainly Go, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on November 14, 2026, and from our analysis. They are not legal advice.

From daily snapshots

Star history

  • larksuite/cli18,111 ★ · +2,193
Star history
Repository2026-07-282026-11-14
larksuite/cli15.9k18.1k

2,193 Stars in the last 109 days, measured from the daily GitHub snapshot. Compare with other projects

Editorial analysis

What lark-cli Solves and Who It Is For

lark-cli addresses a real pain: interacting with Lark's sprawling API surface from a terminal or an AI agent without writing bespoke HTTP calls. The README lists 18 business domains, including Messenger, Docs, Base, Sheets, Calendar, Mail, Tasks, and Meetings, and claims 200+ curated commands plus 26 AI Agent Skills. That is a lot of surface area. The intended audience is twofold: human developers who want a quick way to script Lark actions, and AI agents that need a reliable, structured interface to operate Lark on behalf of a user. The 'Agent-Native Design' bullet is not marketing fluff; the entire tool is shaped around agent call success rates, with concise parameters and structured output. If you are a developer who only needs one or two APIs, this might be overkill, but if you juggle multiple Lark products, it consolidates them into a single command set.

The Three-Layer Architecture: Shortcuts, API Commands, Raw API

The README describes a three-layer command system: Shortcuts, API Commands, and Raw API. Shortcuts are human- and agent-friendly, like `lark-cli calendar +agenda`, which presumably gives a quick agenda view. API Commands are 'platform-synced', meaning they track the official API surface and expose each endpoint as a command with parameters. Raw API gives full coverage, likely for endpoints that do not have dedicated commands yet. This layering is a sensible design: it lets a human type a natural shortcut, an agent call a structured API command, and a power user fall back to raw requests. The trade-off is that you have to learn which layer to use for which task.

Installation and Quick Start: npm, Source, and the Skills Step

The recommended install is `npx @larksuite/cli@latest install`, which pulls the npm package. That is the fastest path and does not require Go or Python. If you build from source, you need Go v1.23+ and Python 3, then `git clone`, `make install`, and crucially `npx skills add larksuite/cli -y -g` to install the CLI SKILL, which the README marks as required. After install, configuration is interactive: `lark-cli config init` sets up app credentials, and `lark-cli auth login --recommend` logs in with auto-selected scopes. The quick start ends with `lark-cli calendar +agenda`, which is a concrete example of a shortcut. The source build adds friction, but the npm path is genuinely three steps.

AI Agent Skills: Structured for Machines, but What Is the Format?

The README claims 26 AI Agent Skills, and the table says they are 'compatible with popular AI tools'. The Skills live in a `skills/` directory in the repo. The idea is that an agent can load a Skill definition, which likely describes commands, parameters, and output schemas, and then call lark-cli without extra setup. This is a concrete mechanism: instead of an agent guessing at API endpoints, it gets a curated set of callable commands. The README also mentions that appending `.md` to any Open Platform doc URL fetches raw Markdown, which helps agents read documentation. You will need to inspect the `skills/` directory yourself. The claim that every command is 'tested with real Agents' is an assertion, not something you can verify from the README alone, so treat it as a marketing statement until you see evidence.

Security Features: Injection Protection and Keychain Storage

The README lists three security features: input injection protection, terminal output sanitization, and OS-native keychain credential storage. Input injection protection is relevant for agents because a user might paste untrusted text into a command, and an agent could be tricked into executing malicious instructions. Terminal output sanitization likely prevents terminal escape sequences from being rendered, which is a known attack vector. Keychain storage avoids putting tokens in plaintext config files. These are sensible defaults. For an enterprise, the README points to an 'Embed lark-cli in your Agent' document and `extension/` packages, which allow a wrapper `main` to centralize credentials and audit logging. That is a separate path, not the default, so individual users get the keychain, but enterprises need to build their own wrapper.

Limitations and Failure Modes: Coverage vs. Depth

The biggest limitation is that the README is a promise of breadth, not a proof of depth. For example, the Meetings domain mentions 'analyze transcripts' and 'manage Minutes', which are complex features, but you have no idea how reliable they are. The README itself warns about security risks in a section titled 'Security & Risk Warnings Read Before Use'. Another failure mode: the tool depends on your Lark tenant's app scopes. If you run `auth login --recommend`, it auto-selects scopes, but you might not get the permissions you need for a specific command, leading to confusing API errors. The README also notes that Project (Meegle) is a separate CLI (`meegle-cli`), so the 18 domains are not all in one binary. That fragmentation is a real limitation if you need cross-domain workflows involving Meegle.

Alternatives: MCP Servers and Custom Scripts

One alternative is an MCP (Model Context Protocol) server, which gives AI agents a standardized way to call tools. The difference in approach is that MCP is a protocol for agent-tool communication, while lark-cli is a CLI that an agent can shell out to. With MCP, the agent gets a native tool interface with schema validation; with lark-cli, you get a command-line process with structured output. For human use, the alternative is writing your own scripts against the Lark Open API using a language of your choice. That gives you full control but requires you to handle auth, pagination, and error handling yourself. lark-cli abstracts those away, but you are locked into its command structure. If you only need one domain, a custom script might be simpler. If you need many domains and agent compatibility, lark-cli is more attractive.

Maintenance, License, and Upgrade Considerations

The project is under the MIT license, which is permissive and allows commercial use and modification. The repository is actively maintained, with releases v1.0.96, v1.0.97 and v1.0.98 published on 2026-09-16, 2026-09-28 and 2026-10-13. That cadence suggests rapid iteration, but it also means you should expect frequent updates. The install method via `npx @larksuite/cli@latest install` implies you can re-run it to get updates. If you build from source, you will need to `git pull` and `make install` again. The `npx skills add` step also needs to be re-run if Skills change. The repository keeps a `CHANGELOG.md` at the top level, and it is included in the npm package files. The extension packages for enterprise embedding suggest a path for long-term maintenance, but they add complexity. For an individual, the npm install is low-friction, but you should pin a version if you rely on it in scripts, because the rapid release cycle could change behavior unexpectedly.

Editorial conclusion

Adopt lark-cli if you are an individual developer or an AI agent builder who needs direct, scriptable access to Lark's core domains without writing custom API wrappers. The npm install path and interactive login make it approachable for humans, while the structured output and Skills are clearly aimed at agent workloads. Do not adopt it if you need deep customization of the command surface. For centralized credentials and unified audit logging, the README directs enterprise IT and ISVs to the `extension/` packages and its Embed lark-cli in your Agent guide. Before adopting, verify the exact list of Skills and commands against your Lark tenant's enabled scopes, and confirm that the current release (v1.0.98) supports the specific API versions your workflows depend on. The project is actively maintained with frequent releases, so plan to test against your own tenant before committing.

Frequently asked questions

How do I install the Lark CLI?

Run npx @larksuite/cli@latest install, which needs only Node.js with npm or npx. Building from source instead needs Go v1.23+ and Python 3, and it is not finished until you also run npx skills add larksuite/cli -y -g to install the CLI skill.

What is Lark CLI?

lark-cli is the official Lark/Feishu command line tool, maintained by the larksuite team and written in Go. It covers 18 business domains with 200+ commands plus AI agent skills, through a three-layer structure of shortcuts, platform-synced API commands and the raw API.

How does lark-cli authentication and credential storage work?

You run lark-cli config init for a one-time interactive credential setup, then lark-cli auth login, where the --recommend flag auto-selects commonly used scopes. Credentials are described as being kept in OS-native keychain storage.

Does lark-cli cover Lark Project and Meegle?

No. Work items, schedules and Meegle data are handled by the standalone meegle-cli repository, which is installed separately, so those commands are not part of the 200+ in lark-cli itself.

Official sources

  1. Official README
  2. Project repository
  3. Release notes
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.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/larksuite-cli.svg)](https://hysenlabs.com/projects/larksuite-cli)

Star history chart for your README

markdown
[![Star history](https://hysenlabs.com/chart/larksuite-cli.svg)](https://hysenlabs.com/projects/larksuite-cli)

Was this useful?