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

# Installation

> Install Errand on Linux, macOS, or Windows.

<Tabs>
  <Tab title="Linux / macOS">
    <Steps>
      <Step title="Run the install script">
        ```bash theme={null}
        curl -fsSL https://nuvrel.dev/install/errand.sh | bash
        ```

        The script detects your OS and architecture, downloads the correct binary, verifies its checksum, and installs it to `~/.errand/bin`.
      </Step>

      <Step title="Reload your shell">
        The installer adds `~/.errand/bin` to your shell configuration and prints the exact command to apply the change. Run that command, or open a new terminal.
      </Step>

      <Step title="Verify">
        ```bash theme={null}
        errand --version
        ```
      </Step>
    </Steps>

    ### Pinning a version

    Set `VERSION` to install a specific release:

    ```bash theme={null}
    curl -fsSL https://nuvrel.dev/install/errand.sh | VERSION=1.0.0 bash
    ```

    ### Custom install directory

    Set `ERRAND_INSTALL` to change where the binary is placed:

    ```bash theme={null}
    curl -fsSL https://nuvrel.dev/install/errand.sh | ERRAND_INSTALL=~/tools bash
    ```

    ### Upgrading

    Run the install script again. It replaces the existing binary:

    ```bash theme={null}
    curl -fsSL https://nuvrel.dev/install/errand.sh | bash
    ```

    ### Uninstalling

    Remove the install directory:

    ```bash theme={null}
    rm -rf ~/.errand
    ```

    Then remove the lines the installer added to your shell configuration file.

    ### Manual verification

    The install script verifies the checksum automatically. If you downloaded a binary manually, you can verify it yourself.

    Download the checksums file for your release from the [GitHub releases page](https://github.com/nuvrel/errand/releases), then run:

    <CodeGroup>
      ```bash Linux theme={null}
      sha256sum --ignore-missing -c errand_VERSION_checksums.txt
      ```

      ```bash macOS theme={null}
      shasum -a 256 --ignore-missing -c errand_VERSION_checksums.txt
      ```
    </CodeGroup>

    Replace `VERSION` with the version you downloaded, for example `errand_1.2.0_checksums.txt`.
  </Tab>

  <Tab title="Windows">
    <Steps>
      <Step title="Run the install script">
        Open PowerShell and run:

        ```powershell theme={null}
        irm https://nuvrel.dev/install/errand.ps1 | iex
        ```

        The installer places the binary in `~\.errand\bin` and adds it to your user `PATH`.
      </Step>

      <Step title="Open a new terminal">
        Close and reopen your terminal for the `PATH` change to take effect.
      </Step>

      <Step title="Verify">
        ```powershell theme={null}
        errand --version
        ```
      </Step>
    </Steps>

    ### Pinning a version

    The `irm | iex` pattern does not support passing parameters. Download the script first, then run it with `-Version`:

    ```powershell theme={null}
    & ([scriptblock]::Create((irm https://nuvrel.dev/install/errand.ps1))) -Version 1.0.0
    ```

    ### Upgrading

    Run the install script again. It replaces the existing binary:

    ```powershell theme={null}
    irm https://nuvrel.dev/install/errand.ps1 | iex
    ```

    ### Uninstalling

    Remove the install directory:

    ```powershell theme={null}
    Remove-Item -Recurse -Force "$HOME\.errand"
    ```

    Then remove `$HOME\.errand\bin` from your user `PATH`.
  </Tab>

  <Tab title="Build from source">
    <Warning>
      Installing via `go install`, `go get`, the `go tool` command, or the tools pattern (`tools.go`) is not guaranteed to work. Use the binary installer instead.
    </Warning>

    You need Go installed. The minimum required version is listed in `go.mod`.

    ```bash theme={null}
    go install github.com/nuvrel/errand/cmd/errand@latest
    ```

    The binary is placed in `$(go env GOPATH)/bin`. Make sure that directory is in your `PATH`.

    <Note>
      Builds from source do not have version information embedded. `errand --version` will report `version development, commit none, built at unknown`.
    </Note>

    ### Upgrading

    ```bash theme={null}
    go install github.com/nuvrel/errand/cmd/errand@latest
    ```

    ### Uninstalling

    ```bash theme={null}
    rm "$(go env GOPATH)/bin/errand"
    ```
  </Tab>
</Tabs>
