Crew ships as a Python package that bundles the React dashboard. There are four ways to install it; pick whichever fits how you'll run it. All builds are driven by plain pip + npm/Vite + pytest. No proprietary tooling.
| Requirement | Needed for | Notes |
|---|---|---|
| Python 3.12+ | Backend runtime | 3.12 is the supported floor. The one-line installer provisions a pinned CPython 3.12 by default. |
| Node.js 22+ | Building the dashboard from source | 24 LTS recommended. Not needed for the prebuilt wheel, desktop app, or Docker image |
| kiro-cli | Talking to the LLM | Install it on the Gateway host. The dashboard guides setup and can update an installed but outdated CLI. |
Crew drives an LLM through kiro-cli over the Agent Client Protocol. It is the only provider (agent.provider = acp). The dashboard guides Kiro CLI setup and sign-in before chat opens. kirocrew doctor reports whether the binary is found and logged in.
If the Gateway detects a Kiro CLI without the required acp command, setup stops at Kiro CLI update needed. Select Update Kiro CLI to run kiro-cli update on the Gateway host, then retry the check.
Semantic memory needs no setup. Embeddings run in-process and the Gateway downloads its embedding model (~610 MB) in the background on first start, verifies it, and stores it under ~/.kiro/crew/models. Until the model lands, memory search falls back to keyword matching and picks up embeddings automatically without a restart. Set KIROCREW_EMBED_MODEL_URL to point at a mirror for airgapped installs.
Download Kiro Crew for macOS (signed .dmg), Windows (signed installer), or Linux (.deb, .rpm, or .AppImage). The app starts a bundled Gateway when no local Gateway is already running, and agent sessions and ACP processes then run on demand on the same machine. It can connect to a remote Gateway over an SSH tunnel instead.
The Windows installer is signed and updates itself in the background on the stable channel, alongside macOS and Linux.
On Linux, the .deb and .rpm packages install to a fixed path, register a desktop entry, and update in place per format. The Linux desktop app needs glibc 2.34 or newer, which excludes older hosts such as Ubuntu 20.04, Debian 11, and Amazon Linux 2. On an older host, install the one-line wheel instead (see the next tab) and open the dashboard in your browser.
Linux ships native builds for both x86_64 and ARM64 (aarch64), published with an architecture check so you don't install the build for the wrong architecture.
You can also build the app yourself with make desktop.
Crew supports Windows natively. Use CPython 3.12 + a venv + pip install -e . tzdata, and launch with python -m kiro_crew gateway.
py -3.12 -m venv .venv .venv\Scripts\activate pip install -e . tzdata python -m kiro_crew gateway
All POSIX-only process, signal, file-lock, and metrics calls are routed through kiro_crew.platform_compat. The OS-level filesystem sandbox (Linux namespaces / macOS Seatbelt) is not available on Windows; every other feature works, and Computer Use drives native Windows applications through UI Automation. The interactive web-terminal and the SSO-login PTY degrade to a clear "not supported on Windows" response rather than crashing.
The signed Windows installer updates in place: Restart & Update shows installer progress, updates the existing install in place, updates retained Start Menu and Desktop shortcuts, and relaunches the new build. Earlier versions nested a copy and reopened the old one; that behavior is gone.
For wheel and cli.sh installs, kirocrew update installs the new version into a fresh, signature-verified tree and switches to it atomically. You do not need to re-run the installer manually.
kirocrew update
The Settings → About page reports when the last update check ran and when the next is due, shows the version actually running, and displays the "What's new" notes for the version you just installed (not an older release).
When Crew changes a default value between releases, your stored config may still hold the older default. Run kirocrew config defaults to list stored values that still hold superseded defaults. Use --adopt to take the current defaults or --keep to record the stored values as intentional.
This applies after upgrading, particularly if the voice stt_model or sandbox settings were set by an earlier version.
For the one-line wheel, source build, and Docker installs, set up and verify after installing:
kirocrew setup # interactive wizard: data dir, agent, credentials kirocrew doctor # verify everything is wired up kirocrew gateway # start the server → http://localhost:5476
kirocrew doctor reports the status of the kiro-cli binary, its authentication, Ollama/embeddings, Slack tokens, config validity, and MCP servers.
All persistent state lives under ~/.kiro/crew/ (override with KIROCREW_HOME):
~/.kiro/crew/ ├── config.json # user configuration ├── .env # Slack tokens, owner ID, other credentials ├── workspace/ │ ├── memory/ # preferences.md, projects.md, history/ │ ├── lessons.jsonl # learned corrections │ └── knowledge/ # ingested documents (FTS5 + vectors) ├── conversations/ # JSONL session logs ├── crons.json # scheduled jobs ├── audit.log # bash command audit trail └── agents/ # generated kiro-cli agent configs
| Variable | Default | Purpose |
|---|---|---|
KIROCREW_HOME | ~/.kiro/crew | Data directory (config, credentials, databases) |
KIROCREW_PORT | 5476 | Port the gateway binds to |
KIROCREW_EMBED_MODEL_URL | (CDN) | Override the embedding-model download URL (for mirrors) |
Both KIROCREW_HOME and KIROCREW_PORT are validated at CLI entry, not stored as config keys. Pass --port on the CLI to override the env var per-invocation.
Install with pip install "kirocrew[<extra>]":
| Extra | Adds |
|---|---|
voice | boto3, amazon-transcribe for cloud speech-to-text |
aws | boto3 for AWS integrations |
Piper TTS is the default text-to-speech provider and runs locally — no extra install needed.
Installation