kimi-cli (deprecated)

Disable date: 2027-01-17

Install command:
brew install kimi-cli

CLI agent for MoonshotAI Kimi platform

https://moonshotai.github.io/kimi-cli/

License: Apache-2.0

Development: Pull requests

Formula JSON API: /api/formula/kimi-cli.json

Formula code: kimi-cli.rb on GitHub

Bottle (binary package) installation support provided for:

macOS on
Apple Silicon
golden gate ✅
tahoe ✅
sequoia ✅
Linux ARM64 ✅
x86_64 ✅

Current versions:

stable ✅ 1.50.0
head ⚡️ HEAD

Depends on:

certifi 2026.10.23 Mozilla CA bundle for Python
cryptography 50.0.2 Cryptographic recipes and primitives for Python
libyaml 0.2.5 YAML Parser
pillow 13.0.0 Friendly PIL fork (Python Imaging Library)
pydantic 2.14.1 Data validation using Python type hints
python@3.14 3.14.10 Interpreted, interactive, object-oriented programming language
re2 2025-11-05 Alternative to backtracking PCRE-style regular expression engines
rpds-py 2026.9.1 Python bindings to Rust's persistent data structures

Depends on when building from source:

pkgconf 3.0.10 Package compiler and linker metadata toolkit
pybind11 3.1.0 Seamless operability between C++11 and Python
rust 1.99.1 Safe, concurrent, practical language

Uses from macOS: libffi, libxml2 (since macOS Ventura), libxslt

Binaries: kimi, kimi-cli

Analytics:

30 days90 days365 days
Installs1262458,838
Installs (--HEAD)118
Installs on Request1262458,836
Installs on Request (--HEAD)118
Build Errors0

Known vulnerabilities in the current version:

GHSA-494j-54xm-rwp3 AIOHTTP: Secure attribute not enforced for shared cookie
GHSA-5wr8-gcqf-gqf3 aiohttp server lacks an initial request/header timeout
GHSA-6cjc-53gc-5rqm AIOHTTP: Connector pool exhaustion via Max-Age overflow
GHSA-9xw5-w5jj-pvcg AIOHTTP: File descriptor exhaustion in multipart requests
GHSA-f9xw-jh8m-3mwq AIOHTTP: Absolute-form request targets can spoof Request.scheme
GHSA-gx76-c99x-2c96 AIOHTTP: Cookie from subdomain can remove Host-Only Scope from existing cookies
GHSA-pqxq-w44r-73xw AIOHTTP: Pure-Python parser request smuggling
GHSA-83vg-56qc-22m7 (high) GitPython validates a submodule's ".git" path only after cloning into it (RCE)
GHSA-w2fm-2cpv-w7v5 aiohttp allows unlimited trailer headers, leading to possible uncapped memory usage
GHSA-hcc4-c3v8-rx92 AIOHTTP Affected by Denial of Service (DoS) via Unbounded DNS Cache in TCPConnector
GHSA-2vrm-gr82-f7m5 AIOHTTP has CRLF injection through multipart part content type header construction
GHSA-p998-jp59-783m AIOHTTP affected by UNC SSRF/NTLMv2 Credential Theft/Local File Read in static resource handler o...
GHSA-m5qp-6w8w-w647 (high) AIOHTTP has a Multipart Header Size Bypass
GHSA-3wq7-rqq7-wx6j AIOHTTP has late size enforcement for non-file multipart fields causes memory DoS
GHSA-966j-vmvw-g2g9 (medium) AIOHTTP leaks Cookie and Proxy-Authorization headers on cross-origin redirect
GHSA-mwh4-6h8g-pg8w AIOHTTP has HTTP response splitting via \r in reason phrase
GHSA-63hf-3vf5-4wqf (critical) AIOHTTP's C parser (llhttp) accepts null bytes and control characters in response header values -...
GHSA-c427-h43c-vf67 AIOHTTP accepts duplicate Host headers
GHSA-jg22-mg44-37j8 (medium) AIOHTTP is Vulnerable to Deserialization of Untrusted Data
GHSA-vfmq-68hx-4jfw (high) lxml: Default configuration of iterparse() and ETCompatXMLParser() allows XXE to local files
GHSA-hg6j-4rv6-33pg AIOHTTP is vulnerable to cross-origin redirect with per-request cookies
GHSA-4jhm-jv67-739f (high) `lxml_html_clean.Cleaner` does not strip `javascript:` URLs from namespaced URL attributes
GHSA-m6qw-4cw2-hm4m aiohttp: CRLF injection in multipart headers
GHSA-4fvr-rgm6-gqmc aiohttp: HTTP/1 Pipelined Requests Queue Without Limit
GHSA-xcgm-r5h9-7989 aiohttp: Incomplete websocket frame payloads bypass memory limits
GHSA-4m7w-qmgq-4wj5 aiohttp: TLS Server Hostname Override Is Ignored When Reusing HTTPS Connections
GHSA-hpj7-wq8m-9hgp aiohttp: DigestAuthMiddleware Applies Credentials to Cross-Origin Redirect Challenges
GHSA-63hw-fmq6-xxg2 aiohttp: C HTTP Parser Bypasses max_line_size for Fragmented Lines
GHSA-g3cq-j2xw-wf74 aiohttp: Unread Compressed Request Bodies Bypass client_max_size During Cleanup
GHSA-2fqr-mr3j-6wp8 aiohttp: Host-Only Cookies Become Domain Cookies After CookieJar Persistence
GHSA-9x8q-7h8h-wcw9 aiohttp: Payload Response Resources Are Not Closed After Mid-Body Disconnect
GHSA-qr67-gv47-xwwh (medium) asyncssh has an incomplete fix for CVE-2026-45309 — AuthorizedKeysFile %u still escapes the inten...
GHSA-2wxc-x7rj-hg8f (high) asyncssh has SCP Path Traversal to Arbitrary File Write
GHSA-mq44-7p77-q5h7 AIOHTTP: WebSocket client accepts compressed frames without negotiated permessage-deflate
GHSA-rw4j-r22c-9gc3 (medium) AsyncSSH: asyncio event-loop freeze via SSH maximum packet size = 0 in SSH_MSG_CHANNEL_OPEN / OPE...
GHSA-mfx4-hv73-q22v AIOHTTP: HTTP request smuggling via WebSocket upgrade
GHSA-cq5v-8q36-5273 AIOHTTP: Out-of-bounds heap read in C HTTP response parser error path (malformed chunked response)
GHSA-2g87-pp6c-29x5 aiohttp: Multiple instances of excessive or unbounded memory/CPU use
GHSA-7xgj-8392-5q4r (medium) FastMCP: Post-transform component authorization is skipped on direct calls

Data from Homebrew/advisory-database. Run brew vulns kimi-cli for a live check.