larksuite-cli
The official Lark/Feishu CLI tool, built for humans and AI Agents, covering core business domains like Docs, Calendar, and Messenger.

Suggested prompts
About this skill
lark-cli
Official Lark/Feishu CLI tool, providing 200+ commands and 26 AI Agent Skills covering core business domains including Messenger, Docs, Base, Sheets, Slides, Calendar, Mail, Tasks, Meetings, and more. Designed for both human users and AI Agents who need to automate operations on the Lark/Feishu platform.
Use Cases
- Automate sending messages, creating calendar events, managing documents and spreadsheets
- Enable AI Agents to operate Lark/Feishu directly without manual login
- Batch process tasks, approvals, attendance, and OKR data
- Integrate into CI/CD pipelines or scripts for platform automation
Core Capabilities
| Domain | Capabilities |
|---|---|
| đ Calendar | View, create and update events, invite attendees, find meeting rooms, RSVP to invitations, check free/busy & time suggestions |
| đŦ Messenger | Send/reply messages, create and manage group chats, view chat history & threads, search messages, download media |
| đ Docs | Create, read, update, and search documents, read/write media & whiteboards |
| đ Drive | Upload and download files, search docs & wiki, manage comments |
| đ Markdown | Create, fetch, patch, and overwrite Drive-native .md files |
| đ Base | Create and manage tables, fields, records, views, dashboards, workflows, forms, roles & permissions, data aggregation & analytics |
| đ Sheets | Create, read, write, append, find, and export spreadsheet data |
| đŧī¸ Slides | Create and manage presentations, read presentation content, and add or remove slides |
| â Tasks | Create, query, update, and complete tasks; manage task lists, subtasks, comments & reminders |
| đ Wiki | Create and manage knowledge spaces, nodes, and documents |
| đ¤ Contact | Search users by name/email/phone, get user profiles |
| đ§ Mail | Browse, search, read emails, send, reply, forward, manage drafts, watch new mail |
| đĨ Meetings | Search meeting records, query meeting minutes artifacts and recordings |
| đ Attendance | Query personal attendance check-in records |
| âī¸ Approval | Query approval tasks, approve/reject/transfer tasks, cancel and CC instances |
| đ¯ OKR | Query, create, update OKRs; manage objective & key results, alignments, indicators and progress |
| đ Apps | Create Spark/Miaoda apps, publish HTML/static sites, run cloud generation, and manage access scope |
How It Works
lark-cli provides a three-layer command system for different levels of granularity:
- Shortcuts (prefixed with
+): Human and AI friendly, with smart defaults, table output, and dry-run previews. - API Commands: Auto-generated from Lark OAPI metadata, curated through evaluation and quality gates â 100+ commands mapped 1:1 to platform endpoints.
- Raw API Calls: Call any Lark Open Platform endpoint directly, covering 2500+ APIs.
After authentication, you can execute commands as a user or as a bot.
What You Need to Provide
- Node.js (when installing via npm/npx)
- Lark/Feishu app credentials: Configured via
lark-cli config init(interactive guided setup) - Login authorization: Complete OAuth login via
lark-cli auth loginand grant the required scopes
What You Get
- Operational access to all major Lark/Feishu business domains, including reading/writing data, managing resources, and executing automated workflows
- Multiple output formats: JSON (default), pretty, table, ndjson, CSV
- Advanced features: pagination, dry-run, schema introspection
Usage Examples
# View today's agenda
lark-cli calendar +agenda
# Send a message
lark-cli im +messages-send --chat-id "oc_xxx" --text "Hello"
# Create a document
lark-cli docs +create --doc-format markdown --content '<title>Weekly Report</title>\n# Progress\n- Completed feature X'
# Send message as bot
lark-cli im +messages-send --as bot --chat-id "oc_xxx" --text "Hello"
AI Agent Skills
26 structured Skills are included out of the box, compatible with popular AI tools â no extra setup needed. Selected Skills:
| Skill | Description |
|---|---|
lark-shared |
App config, auth login, identity switching, scope management, security rules (auto-loaded by all other skills) |
lark-calendar |
Calendar events (create/update), agenda view, free/busy queries, time suggestions, room finding, RSVP replies |
lark-im |
Send/reply messages, group chat management, message search, upload/download images & files, reactions |
lark-doc |
Create, read, update, search documents (Markdown-based) |
lark-drive |
Upload, download files, manage permissions & comments |
lark-markdown |
Create, fetch, patch, and overwrite Drive-native Markdown files |
lark-sheets |
Create, read, write, append, find, export spreadsheets |
lark-slides |
Create and manage presentations, read presentation content, and add or remove slides |
lark-base |
Tables, fields, records, views, dashboards, data aggregation & analytics |
lark-task |
Tasks, task lists, subtasks, reminders, member assignment |
lark-mail |
Browse, search, read emails, send, reply, forward, draft management, watch new mail |
lark-contact |
Search users by name/email/phone, get user profiles |
lark-wiki |
Knowledge spaces, nodes, documents |
lark-event |
Real-time event subscriptions (WebSocket), regex routing & agent-friendly format |
lark-vc |
Search meeting records, query meeting minutes (summary, todos, transcript) |
lark-whiteboard |
Whiteboard/chart DSL rendering |
lark-minutes |
Minutes metadata & AI artifacts (summary, todos, chapters); upload audio/video to create minutes, download media |
lark-openapi-explorer |
Explore underlying APIs from official docs |
lark-skill-maker |
Custom skill creation framework |
lark-attendance |
Query personal attendance check-in records |
lark-approval |
Query approval tasks, approve/reject/transfer tasks, cancel and CC instances |
lark-workflow-meeting-summary |
Workflow: meeting minutes aggregation & structured report |
lark-workflow-standup-report |
Workflow: agenda & todo summary |
lark-okr |
Query, create, update OKRs; manage objective & key results, alignments and indicators |
Important Notes
Security Risks: This tool can be invoked by AI Agents to automate operations on the Lark/Feishu Open Platform, carrying inherent risks such as model hallucinations, unpredictable execution, and prompt injection. After authorization, the AI Agent acts under your identity within the authorized scope, which may lead to high-risk consequences such as leakage of sensitive data or unauthorized operations. Use with caution.
- Default security protections are enabled at multiple layers. It is strongly recommended not to modify default security settings.
- It is recommended to use the integrated Lark/Feishu bot as a private conversational assistant. Do not add it to group chats or allow other users to interact with it.
- To reduce the security risks associated with access token theft, the CLI sends a minimal set of risk-control signals with OpenAPI requests made to exact official Feishu/Lark HTTPS domains. These signals are limited to operating system type (macOS, Windows, Linux) and device hardware model. This protection is enabled by default. To disable:
lark-cli config risk-control off.
Authentication: Supports OAuth login with interactive selection or CLI flags for scopes. You can execute commands as user or bot.
Output Format: Default JSON. Success goes to stdout with exit code 0 and envelope { "ok": true, "identity": "...", "data": {...}, "meta": {...} }. Errors go to stderr with non-zero exit code and envelope { "ok": false, "identity": "...", "error": { "type": "...", "subtype": "...", "code": ..., "message": "...", "hint": "..." } }. To check success, test ok == true (or exit code) â not code == 0.
Pagination: Use --page-all for auto-pagination, --page-limit for max pages, --page-delay for delay between requests.
Dry Run: Preview requests with --dry-run before executing side-effect commands.
Schema Introspection: Use lark-cli schema to inspect any API method's parameters, request body, response structure, supported identities, and scopes.
This project is licensed under the MIT License. When running, it calls Lark/Feishu Open Platform APIs. Use of these APIs must comply with the applicable terms of service and privacy policies.