# Prerequisites for Using kimi-cli: Complete Setup Guide

> Discover the essential prerequisites for using kimi-cli: Python 3.12+, uv, Git, and Make. Learn what you need to start your CLI setup for the MoonshotAI/kimi-cli repository.

- Repository: [Moonshot AI/kimi-cli](https://github.com/MoonshotAI/kimi-cli)
- Tags: how-to-guide
- Published: 2026-07-19

---

**To run kimi-cli, you must have Python 3.12 or newer, the uv package manager, Git, and Make installed on your system, with Node.js required only if you plan to rebuild the web UI.**

MoonshotAI/kimi-cli is a modern Python-based AI terminal agent that requires specific tooling to install and run. Before you can execute commands or contribute to the project, your environment must meet several key prerequisites for using kimi-cli. The repository is configured for Python 3.14 development but supports Python 3.12 and above.

## Core System Requirements

### Python 3.12 or Newer

The codebase targets modern Python features and requires **Python 3.12 or newer** to function correctly. According to the repository's [`pyproject.toml`](https://github.com/MoonshotAI/kimi-cli/blob/main/pyproject.toml) and README documentation, the project is specifically configured for Python 3.14 tooling while maintaining backward compatibility to 3.12.

### uv Package Manager

All dependency management and execution workflows rely on **uv**, an extremely fast Python package manager. The `make prepare` command in the project root executes `uv sync` to install dependencies, and the CLI itself is typically invoked via `uv run kimi` during development.

### Git and Make

Version control requires **Git** to clone the repository from `https://github.com/MoonshotAI/kimi-cli.git`. Additionally, **Make** is essential for the build automation system; the project supplies Makefile targets including `make prepare`, `make test`, and `make format` for development tasks.

## Optional Prerequisites

### Node.js and npm for Web UI Development

If you intend to modify or rebuild the web interface, you need **Node.js and npm**. The `make build-web` command documented in the README executes a Node-based build step to compile the frontend assets.

### Zsh for Shell Integration

Users wanting enhanced shell-mode integration can install the **Zsh** plugin `zsh-kimi-cli`. This is entirely optional and only relevant if you use the Zsh shell and want the specific plugin functionality mentioned in the installation documentation.

## Quick Installation Workflow

Here is the complete setup process for macOS or Linux systems:

```bash

# Install prerequisites (example using Homebrew)

brew install python uv git make node

# Clone the repository

git clone https://github.com/MoonshotAI/kimi-cli.git
cd kimi-cli

# Prepare the development environment

make prepare

# Run the CLI

uv run kimi

```

For users who only need the binary without development capabilities:

```bash
pip install uv
uv pip install kimi-cli
kimi --help

```

## Key Configuration Files

Understanding these source files helps clarify why the prerequisites matter:

- **[`pyproject.toml`](https://github.com/MoonshotAI/kimi-cli/blob/main/pyproject.toml)**: Declares Python version constraints, dependency lists, and the CLI entry point (`[tool.poetry.scripts] kimi = "kimi_cli.__main__:main"`).

- **[`src/kimi_cli/cli/__init__.py`](https://github.com/MoonshotAI/kimi-cli/blob/main/src/kimi_cli/cli/__init__.py)**: Contains the Typer-based CLI entry point that parses command flags and dispatches to the `KimiCLI` class.

- **[`src/kimi_cli/app.py`](https://github.com/MoonshotAI/kimi-cli/blob/main/src/kimi_cli/app.py)**: Handles core application bootstrap logic, loading configuration and selecting the LLM provider.

- **`Makefile`**: Defines the build targets including `prepare`, `format`, `test`, and `build-web` that automate the development workflow.

## Summary

- **Python 3.12+** is mandatory, with the project configured for Python 3.14 tooling.
- **uv** serves as the required package manager for dependency sync and CLI execution.
- **Git and Make** are necessary for repository operations and build automation.
- **Node.js** is only required if rebuilding the web UI via `make build-web`.
- **Zsh** plugin integration is optional for users wanting shell-mode enhancements.
- The entry point is defined in [`pyproject.toml`](https://github.com/MoonshotAI/kimi-cli/blob/main/pyproject.toml) and implemented in [`src/kimi_cli/cli/__init__.py`](https://github.com/MoonshotAI/kimi-cli/blob/main/src/kimi_cli/cli/__init__.py).

## Frequently Asked Questions

### Do I need Python 3.14 specifically, or will 3.12 work?

Python 3.12 is the minimum supported version. While the project tooling is configured for Python 3.14, the codebase is fully compatible with Python 3.12 and newer, as specified in [`pyproject.toml`](https://github.com/MoonshotAI/kimi-cli/blob/main/pyproject.toml) and the README.

### Can I install kimi-cli without using uv?

While possible via `pip install kimi-cli` from PyPI, the development workflow and documentation heavily favor **uv**. The `make prepare` command specifically calls `uv sync`, and the recommended execution method is `uv run kimi` to ensure dependency isolation.

### Is Make absolutely necessary for end users?

Make is primarily required for development tasks like testing, formatting, and building. If you install the pre-built package from PyPI using `uv pip install kimi-cli`, you can run the tool without Make, though you will miss the automated development workflows defined in the project's Makefile.

### Why does the web UI require Node.js?

The web interface compilation relies on a Node.js-based build pipeline. The `make build-web` target documented in the README executes npm commands to bundle and compile the frontend assets, making Node.js and npm prerequisites only for users modifying or rebuilding the UI components.