# Installation

URL: https://docs.hanzo.ai/docs/dev/getting-started/install

> Install Hanzo Dev from npm, Homebrew, or build from source.

## System Requirements

| Requirement                 | Details                                                         |
| --------------------------- | --------------------------------------------------------------- |
| Operating systems           | macOS 12+, Ubuntu 20.04+/Debian 10+, or Windows 11 **via WSL2** |
| Git (optional, recommended) | 2.23+ for built-in PR helpers                                   |
| RAM                         | 4 GB minimum (8 GB recommended)                                 |

## Install via npm

```bash
npm install -g @hanzo/dev
```

## Install via npx

```bash
npx @hanzo/dev
```

## DotSlash

The GitHub Release also contains a [DotSlash](https://dotslash-cli.com/) file for Hanzo Dev named `dev`. Using a DotSlash file makes it possible to make a lightweight commit to source control to ensure all contributors use the same version of the executable, regardless of platform.

## Build from Source

```bash
# Clone the repository
git clone https://github.com/hanzoai/dev.git
cd dev

# Install the Rust toolchain if necessary
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
source "$HOME/.cargo/env"

# The engines are submodules, and the build patches that checkout in place
git submodule update --init --depth 1

# Build (~20 min cold, ~2 min incremental)
make build

# Launch the TUI
./target/debug/dev
```

`make install` instead of `make build` puts an optimized `dev` on your PATH via
`cargo install`.

## Tracing / Verbose Logging

Hanzo Dev is written in Rust and honors the `RUST_LOG` environment variable.

The TUI defaults to `RUST_LOG=hanzo_core=info,hanzo_tui=info` and writes logs to `~/.hanzo/log/codex-tui.log`. Override the log directory with `-c log_dir=...` for a single run.

```bash
tail -F ~/.hanzo/log/codex-tui.log
```

Non-interactive mode (`dev exec`) defaults to `RUST_LOG=error` with inline output.

See the Rust [`RUST_LOG` documentation](https://docs.rs/env_logger/latest/env_logger/#enabling-logging) for all configuration options.
