# Installation

> Source: https://truto.one/docs/cli/installation/

## Linux / macOS

```bash
curl -fsSL https://cli.truto.one/install.sh | bash
```

The installer detects your OS and architecture, downloads the correct binary, and installs it to `~/.truto/bin/truto`. Add `~/.truto/bin` to your `PATH` if the installer does not do so automatically.

### Install options (Linux / macOS)

```bash
# Install a specific version
TRUTO_VERSION=0.1.0 curl -fsSL https://cli.truto.one/install.sh | bash

# Install to a custom directory
TRUTO_INSTALL_DIR=/usr/local/bin curl -fsSL https://cli.truto.one/install.sh | bash
```

## Windows (PowerShell)

```powershell
irm https://cli.truto.one/install.ps1 | iex
```

Installs to `%USERPROFILE%\.truto\bin\truto.exe` and adds that directory to your user `PATH`. Open a new terminal after install so the updated `PATH` is picked up.

:::callout{type="info"}
**Windows on ARM:** The installer downloads the x64 binary, which runs under Windows' x64 emulation layer. WSL users can use the Linux install script (`install.sh`) inside their distro instead.
:::

### Install options (Windows)

```powershell
# Install a specific version
$env:TRUTO_VERSION='0.27.1'; irm https://cli.truto.one/install.ps1 | iex

# Install to a custom directory
$env:TRUTO_INSTALL_DIR='C:\Tools\truto'; irm https://cli.truto.one/install.ps1 | iex
```

## Upgrading

```bash
# Check if a newer version is available
truto upgrade --check

# Upgrade to the latest version
truto upgrade

# Re-download even if already on the latest version
truto upgrade --force
```

The `upgrade` command fetches the latest release from `cli.truto.one`, downloads the platform-specific binary, and replaces the currently running binary in place.

:::callout{type="info"}
On Linux and macOS, if the CLI was installed to a system directory (for example `/usr/local/bin`), you may need to run `sudo truto upgrade`. On Windows, run PowerShell as administrator only if you installed to a protected directory.
:::

:::callout{type="tip"}
Run `truto upgrade --check` periodically to see if a new version is available without installing it.
:::

## Next steps

1. [Create an API token](/docs/guides/api-tokens/creating-api-tokens) in the dashboard (Settings → API Tokens).
2. [Authenticate](/docs/cli/authentication) with `truto login` or `truto login --token "$TRUTO_API_TOKEN"`.
3. Follow the [CLI overview](/docs/cli/overview) quick start to verify with `truto whoami` and explore your environment.
