feishu-cli
A Feishu CLI with two-way Markdown conversion and nine skills so Claude Code can run chats, mail and calendars.
- 1,438 ★ on the repository
- Last commit
- MIT
Broad access
Why this level
- With a user token an agent reads mail and private chats, sends messages and emails, approves requests and changes document permissions.
- App keys are stored in `~/.feishu-cli/config.yaml`, and the installer runs from the network through `curl | bash`.
Install
- Works in
Manual install
curl -fsSL https://raw.githubusercontent.com/riba2534/feishu-cli/main/install.sh | bashThe first README command: detects the platform and installs the binary with a sha256 check.
Access and checks
How we reviewBroad accessThe tool can change data, run commands or handle secrets.
- With a user token an agent reads mail and private chats, sends messages and emails, approves requests and changes document permissions.
- App keys are stored in `~/.feishu-cli/config.yaml`, and the installer runs from the network through `curl | bash`.
This is third-party code. Review the repository files before installing.
What it does
feishu-cli turns work in Feishu into terminal commands: documents, wiki, spreadsheets and multidimensional tables, messages, mail, calendar, tasks, approvals, video meetings and cloud drive. Its main feature is two-way conversion between Markdown and Feishu documents: more than forty block types are supported, and Mermaid and PlantUML blocks become editable boards. The CLI ships nine skills by area, from documents and storage to messaging, mail and meetings. `feishu-cli skills install` puts them in `~/.claude/skills` at the version matching the installed CLI. For reliable agent work there is `--dry-run` on write operations, idempotency keys against double sends and output through `--jq` and `--format`. On a typo in a command or flag the CLI returns an error and suggests the correct spelling.
Who it is for. People who work in Feishu and want Claude Code to create documents, post to chats and run tasks itself.
Good fit when
- A Markdown report from a repository has to land in Feishu as a document with tables and Mermaid diagrams.
- A Feishu document with images has to be exported to Markdown and kept next to the code.
- An agent must read a private conversation with a colleague by email address and reply in a group.
- A meeting has to be found in the calendar and turned into tasks.
- A video meeting needs a transcript and notes for review.
Not a fit when
- The team does not use Feishu, so the CLI has nothing to connect to.
- You need the vendor's own support: an independent author maintains this project and the vendor has its own CLI.
- An agent must not get access to mail and private chats: part of the features work only with a user token.
Example request
Import `report.md` into Feishu as a document titled «Technical report» and send me the link, showing the plan with `--dry-run` first.Limitations
A Feishu app is required. `feishu-cli config create-app --save` creates it through a confirmation link in Feishu, while app permissions are opened by hand on the permissions page. Search, mail, video meetings and some drive operations need a user token from `feishu-cli auth login`. Documentation is in Chinese. The skills are tied to CLI version 1.43.0 and newer. The installer writes a binary to `/usr/local/bin` and runs from the network through `curl | bash`. A document created on behalf of the app belongs to it, and without a user login you will not see it in Feishu.
How to disable. Delete the `feishu-cli` binary and the `feishu-cli-*` skill folders from `~/.claude/skills`. Remove the configuration with app keys together with `~/.feishu-cli/` and revoke the keys in the Feishu console.
FAQ
How do I install feishu-cli and the skills for Claude Code?
Run `curl -fsSL https://raw.githubusercontent.com/riba2534/feishu-cli/main/install.sh | bash`, then `feishu-cli skills install --dry-run` to preview and `feishu-cli skills install` to install into `~/.claude/skills`. Skills can also come through `npx skills add`, but their version may drift from the CLI.
How does app login differ from user login?
Most operations run as the app with App ID and App Secret. A user token is needed for search, approvals, mail, video meetings and several drive operations: run `feishu-cli auth login` once and the token refreshes itself.
How do I upload Markdown to Feishu?
Run `feishu-cli doc import report.md --title "Technical report"`. Export back with `feishu-cli doc export <document_id> -o doc.md`. Mermaid blocks in the file become boards, and diagrams that fail are kept as code blocks.
What do errors 99991672 and 99991679 mean?
Code 99991672 means the app has no permission: enable it on the open platform through the link in the message and publish a version. Code 99991679 means the user did not grant the needed scope: repeat `feishu-cli auth login --scope "<scope>"`.
How do I avoid sending something by mistake?
Write operations accept `--dry-run` and show the action without performing it. Message sending supports idempotency keys against duplicates.
Discussion
No questions or reviews yet.
Related
CLI toolsLark CLI
lark-cli
The official Lark and Feishu CLI with agent skills: messages, docs, sheets, calendar, mail and tasks from the terminal, over 200 commands
An MCP server for Feishu and Lark: the agent reads and edits documents block by block, manages tasks and finds colleagues, with the same tools as a CLI
An OpenClaw plugin for Feishu and Lark: a chat bot that also works with docs, wiki, drive, tasks and tables
The official Lark and Feishu plugin for OpenClaw: chat, docs, bases, calendar and tasks of your workspace from a conversation with the agent
Console tool and skill for Meegle (Lark Project): an agent manages work items, workflow nodes, subtasks and schedules without a browser
A terminal CLI and TUI for HEY mail, calendar and contacts, used by a person or by an agent
Comparison with similar tools
Cards that share the main search query, and how they differ.
| Tool | Official | Authentication | Repository stars | Main difference |
|---|---|---|---|---|
| feishu-cli (this card) | no | 1,438 | ||
| Lark CLI | yes | 17,988 | the vendor's official Lark and Feishu CLI; feishu-cli is maintained by an independent author with 503 commands and two-way Markdown conversion | |
| Feishu-MCP | no | API key | 746 | an MCP server where an agent edits documents by blocks; feishu-cli works through commands and skills and covers mail, calendar and approvals |
| OpenClaw Lark/Feishu Plugin | yes | 2,383 | a Lark and Feishu plugin for OpenClaw; feishu-cli installs skills into Claude Code |
README in short
The author explains that the project is aimed first at agents, though the commands are open to people too. The quick start has three steps: install, create an app and import a first document. A command reference, a permission list and answers to common errors follow.