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.10+ | Backend runtime | 3.12 recommended |
| Node.js 18+ | Building the dashboard from source | Not needed for the prebuilt wheel, desktop app, or Docker image |
| kiro-cli | Talking to the LLM | Installed via the dashboard or Mac app on first launch |
Crew drives an LLM through kiro-cli over the Agent Client Protocol. It is the only provider (agent.provider = acp). The first desktop or dashboard launch can install Kiro CLI on the Gateway host and guide device-code sign-in before chat opens. kirocrew doctor reports whether the binary is found and logged in.
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 Crew for macOS (signed .dmg) or Linux (.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. On Windows, run the Gateway from a native source install and open the dashboard in your browser.
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 sandbox (Linux namespaces / macOS Seatbelt) is not available on Windows; every other feature works. The interactive web-terminal and the SSO-login PTY degrade to a clear "not supported on Windows" response rather than crashing.
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