> ## Documentation Index
> Fetch the complete documentation index at: https://unmute.ai/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Unmute compiles to exactly three targets. Pipecat and LiveKit are code targets: compile writes a Python project you run. SLNG is a hosted target: compile writes a deployment body and SLNG runs the agent, so it has no `unmute dev`. Those three are the only values `provider` accepts in `targets.yaml`. Deepgram and ElevenLabs appear in these docs as model vendors, which is not the same thing as a target, and `slng` is both.
> The Go structs in `internal/spec` and `internal/ir` are the schema truth. Check a field against them, or run `unmute validate`, rather than against what you remember.

# Installation

> Install Unmute on macOS, Windows, or Linux and check the one Quickstart prerequisite.

Unmute is one static binary. Pick your operating system and install it. Normal
use does not need Go.

On this page:

* [Install Unmute](#install-unmute) - macOS, Windows, Linux
* [Keep it current](#keep-it-current) - why a release matters
* [What you need to run an agent](#what-you-need-to-run-an-agent) - Docker, or `uv`

## Install Unmute

<Tabs>
  <Tab title="macOS">
    Install with Homebrew:

    ```sh theme={null}
    brew install slng-ai/tap/unmute
    ```

    Check it:

    ```sh theme={null}
    unmute --version
    ```
  </Tab>

  <Tab title="Windows">
    Scoop works today. Add the bucket once, then install:

    ```powershell theme={null}
    scoop bucket add slng-ai https://github.com/slng-ai/scoop-bucket
    scoop install slng-ai/unmute
    ```

    Check it:

    ```powershell theme={null}
    unmute --version
    ```
  </Tab>

  <Tab title="Linux">
    Download the archive for your architecture from the
    [releases page](https://github.com/slng-ai/unmute/releases), extract the
    `unmute` binary, and put it on your PATH.

    Check it:

    ```sh theme={null}
    unmute --version
    ```
  </Tab>
</Tabs>

## Keep it current

This site is written against the newest release, and releases come often. If a
field or a flag on a page does not exist in your build, upgrade. The
[changelog](/changelog) says what changed in each release.

## What you need to run an agent

The default LiveKit browser dev loop needs Docker with Compose. Check it before
the quickstart:

```sh theme={null}
docker compose version
```

Pipecat browser development uses `uv` instead. You can write, validate, and
compile a package without either runtime. A phone route is verified after you
deploy; see [phone calls](/telephony/overview) for what each route needs.

<Accordion title="Advanced install options">
  **Verify a release archive**

  Each archive holds the binary, LICENSE, and README. Every release also has a
  `unmute_<version>_checksums.txt` file, its signature, and one SBOM per
  archive.

  Check the archive against the checksum file:

  ```sh theme={null}
  sha256sum -c --ignore-missing unmute_<version>_checksums.txt
  ```

  Check that this project's release workflow, and nobody else, signed the
  checksum file:

  ```sh theme={null}
  cosign verify-blob \
    --bundle unmute_<version>_checksums.txt.sigstore.json \
    --certificate-identity-regexp "^https://github\.com/slng-ai/unmute/\.github/workflows/release\.yml@.*$" \
    --certificate-oidc-issuer https://token.actions.githubusercontent.com \
    unmute_<version>_checksums.txt
  ```

  **Install with Go**

  On any platform with Go 1.26 or newer:

  ```sh theme={null}
  go install github.com/slng-ai/unmute@latest
  ```

  **Build from a clone**

  This is the contributor path, and the one to take if you want to change the
  CLI itself.

  <Steps>
    <Step title="Clone the repository">
      ```sh theme={null}
      git clone https://github.com/slng-ai/unmute.git
      cd unmute
      ```
    </Step>

    <Step title="Build">
      ```sh theme={null}
      make build
      ```

      That writes `bin/unmute`. The direct equivalent is
      `CGO_ENABLED=0 go build -o bin/unmute .`, and the version string is stamped
      in at link time.
    </Step>

    <Step title="Check it">
      ```sh theme={null}
      bin/unmute --version
      ```

      It prints one line: the release, the commit it was built from, and
      that commit's date. A plain `go build` with no link-time stamping
      prints `unmute version dev`.
    </Step>
  </Steps>

  **Put a source build on your PATH**

  ```sh theme={null}
  make install
  ```

  That runs `go install`, which puts `unmute` in your Go bin directory (usually
  `~/go/bin`). Add that directory to your PATH and you can run `unmute` from
  anywhere. The rest of these pages write `unmute`; if you skipped this step,
  read that as `bin/unmute` from the repository root.

  A package manager install is already on your PATH.
</Accordion>

## Where to go next

<Card title="Quickstart" icon="rocket" href="/start/quickstart">
  Scaffold an agent and talk to it in your browser.
</Card>
