About this project

lark-cli is the official command-line interface for Lark/Feishu, maintained by the larksuite team. It is built for both human users and AI Agents, covering 18 core business domains including Messenger, Docs, Base, Sheets, Slides, Calendar, Mail, Tasks, Meetings, Markdown, Wiki, Contact, Attendance, Approval, OKR, Project, and Apps, with over 200 curated commands and 26 AI Agent Skills. The tool features an agent-native design with structured Skills that are compatible with popular AI tools, allowing Agents to operate Lark with zero extra setup. Every command is tested with real Agents, featuring concise parameters, smart defaults, and structured output to maximize Agent call success rates. It is open source under the MIT license and can be installed via npm in just a few steps. The three-layer command system provides flexibility at different granularities: Shortcuts (prefixed with +, designed for both humans and AI with smart defaults and table output), API Commands (auto-generated from Lark OAPI metadata, curated through evaluation and quality gates, with 100+ commands mapped 1:1 to platform endpoints), and Raw API Calls (direct access to any Lark Open Platform endpoint, covering 2500+ APIs). Authentication supports OAuth login with interactive selection or CLI flags for scopes, identity switching between user and bot, and agent mode with non-blocking verification URLs. The tool includes multiple output formats (JSON, pretty, table, ndjson, CSV), pagination support, dry-run previews for side-effect commands, and schema introspection for inspecting API parameters and response structures. Security features include input injection protection, terminal output sanitization, OS-native keychain credential storage, and risk-control signals sent with OpenAPI requests to official Feishu/Lark HTTPS domains. The tool warns users about inherent risks when AI Agents automate operations, including model hallucinations, unpredictable execution, and prompt injection, and recommends using the integrated bot as a private conversational assistant rather than in group chats. For enterprise use, the tool supports embedding into custom Agents or platforms with centralized credentials, unified audit logging, and a restricted command surface via extension packages. The project is written in Go (v1.23+) and distributed via npm, with community contributions welcome under the MIT License.