Kiwi AI CLI
Connect your local machine to AI-powered automation. The Kiwi CLI agent runs on your machine and executes terminal commands on behalf of the LLM agent via a secure WebSocket connection.
Installation
Using pipx (recommended for macOS / Linux)
pipx installs CLI tools in isolated environments — no conflicts, no venv to manage.
# Install pipx if you don't have it
brew install pipx # macOS
sudo apt install pipx # Ubuntu/Debian
# Install kiwi-cli
pipx install kiwi-ai-cli
Using pip
pip install kiwi-ai-cli
Getting
externally-managed-environmenterror? Modern macOS/Linux with Homebrew or system Python blocks system-wide pip installs (PEP 668). Usepipxinstead, or run inside a virtual environment:python3 -m venv ~/.kiwi-env source ~/.kiwi-env/bin/activate pip install kiwi-ai-cli
Windows
pip install kiwi-ai-cli
Upgrade
# If installed with pipx
pipx upgrade kiwi-ai-cli
# If installed with pip
pip install --upgrade kiwi-ai-cli
Verify your version:
pip show kiwi-ai-cli
Quick Start
# Connect to Kiwi AI (production server, restricted mode)
kiwi connect
# You'll be prompted for email and password
# Once connected, the LLM agent can run commands on your machine
Usage
# Connect to production (default)
kiwi connect
# Connect to a specific server
kiwi connect --server dev
kiwi connect --server local
kiwi connect --server wss://custom.server.com
# Provide email upfront (password is always prompted securely)
kiwi connect --email you@example.com
# Skip login with an existing token
kiwi connect --token <your-jwt-token>
# Allow access to additional directories
kiwi connect --allow ~/Documents --allow ~/Projects
# Full access mode (no path restrictions)
kiwi connect --scope full
Flags
| Flag | Description |
|---|---|
--server |
Server preset (app, dev, local) or a full WebSocket/HTTP URL. Default: app (production) |
--email |
Email address for login. Prompts interactively if not provided |
--token |
Access token to skip email/password login (e.g., from shared auth) |
--scope |
restricted (default) limits commands to the current directory. full removes all path restrictions |
--allow |
Additional allowed directory path. Can be used multiple times. Only applies in restricted mode |
Execution Modes
Restricted Mode (default)
Commands are validated before execution. The LLM can only access files within:
- The directory where you ran
kiwi connect - Any directories added via
--allow
Paths like /dev/null, /dev/stdin, etc. are always allowed.
Full Mode
No path validation. The LLM can execute any command. Use with caution.
kiwi connect --scope full
Server Presets
| Preset | URL |
|---|---|
app (default) |
wss://api.meetkiwi.ai |
dev |
wss://dev.api.myautobots.com |
local |
ws://localhost:8000 |
You can also pass a full URL:
kiwi connect --server https://my-server.com
How It Works
- You run
kiwi connecton your machine - The CLI authenticates and opens a WebSocket connection to the server
- When the LLM needs to run a command, the server sends it through the WebSocket
- The CLI executes it locally and streams the output back
- The LLM sees the output and decides what to do next
Commands can run in one-off mode (independent, no state) or in persistent sessions (shell state like cd, export, environment variables carry over between commands).
Requirements
- Python 3.10+
- A Kiwi AI account (meetkiwi.ai)
Metadata
Release files for kiwi-ai-cli 0.2.28
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| kiwi_ai_cli-0.2.28.tar.gz | 23.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| kiwi_ai_cli-0.2.28-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 45.8 kB
Release files / kiwi_ai_cli-0.2.28.tar.gz
| Download URL | kiwi_ai_cli-0.2.28.tar.gz |
|---|---|
| Size | 23.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
bc817fa623540b6c8c6e7af9c1f012d9c91a84f0a366c839aa2cdc77e36f41f6
|
|
BLAKE2b-256 checksum How to use checksums |
5aa2a7fc508a3d54a180ae6bfb7ff0cef1e0d4ef9ec4d808eca779abd7473920
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.2
|
Release files / kiwi_ai_cli-0.2.28-py3-none-any.whl
| Download URL | kiwi_ai_cli-0.2.28-py3-none-any.whl |
|---|---|
| Size | 22.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6f315fa7c9b3400b5b3dc8ddfb5d3c64f1433a9fc0467ad6a7d3db1cf41fcc9f
|
|
BLAKE2b-256 checksum How to use checksums |
7d0c1d8d7e55a135bc4a409dfde232e13cb20029423b6d6b4225555834c3c31f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.2
|