# Install the CLI


> Homebrew, Nix, Docker, a release binary, or from source. Then sign in.
The CLI is [open source](https://github.com/Screenly/cli/) and ships as a single binary.

## Homebrew, on macOS

```bash
brew tap screenly/screenly-cli
brew install screenly-cli
```

## Other routes

**A release binary** for your platform, from the [latest release](https://github.com/Screenly/cli/releases/latest).

**Nix** and **Docker** are both supported; the [README](https://github.com/Screenly/cli/) has the invocations.

**From source** with `cargo build --release`, if you already have a Rust toolchain.

> [!NOTE]
> macOS release artifacts are not yet Developer ID signed, so a browser download can be blocked by Gatekeeper. If that happens, allow it under **System Settings**, **Privacy & Security**, **Open Anyway**.

## Signing in

```bash
screenly login
```

It takes an [API token](/docs/developers/overview/api-tokens/) and stores it in `~/.screenly` for subsequent commands. `screenly logout` removes it.

The `API_TOKEN` environment variable overrides the stored token, which is how you authenticate in CI without a login step.

## Versions

The CLI moved to calendar versioning at **26.8.0**, having previously been on 1.x. A version like `26.8.0` is the year and month it was released, not a semantic version, so a jump in the number does not imply a breaking change.