# Installation



Install the CCP CLI to start deploying functions to Clusterbase.

## Install [#install]

<Tabs items="[&#x22;macOS / Linux&#x22;, &#x22;Manual&#x22;]">
  <Tab value="macOS / Linux">
    ```bash
    curl -fsSL https://assets.cluster.app/serve/cstatic-assets/releases/ccp/install.sh | sh
    ```

    This detects your OS and architecture, downloads the binary, and installs it to `/usr/local/bin`.

    To install to a custom directory:

    ```bash
    INSTALL_DIR=~/.local/bin curl -fsSL https://assets.cluster.app/serve/cstatic-assets/releases/ccp/install.sh | sh
    ```
  </Tab>

  <Tab value="Manual">
    Releases are published as per-architecture `.tar.gz` archives. Download the archive for your platform and extract the `ccp` binary:

    ```bash
    # Resolve the latest version
    BASE_URL=https://assets.cluster.app/serve/cstatic-assets/releases/ccp
    VERSION=$(curl -fsSL "$BASE_URL/latest")

    # Pick the archive for your platform:
    #   macOS (Apple Silicon):        ccp-darwin-arm64.tar.gz
    #   Linux (x86_64):               ccp-linux-amd64.tar.gz
    #   Linux (ARM64 / Raspberry Pi): ccp-linux-arm64.tar.gz
    ARCHIVE=ccp-linux-amd64.tar.gz

    # Download and extract the binary
    curl -fsSL "$BASE_URL/$VERSION/$ARCHIVE" -o "$ARCHIVE"
    tar -xzf "$ARCHIVE" ccp

    # Make executable and move to PATH
    chmod +x ccp
    sudo mv ccp /usr/local/bin/
    ```

    Each release also publishes a `SHA256SUMS` file at `$BASE_URL/$VERSION/SHA256SUMS` so you can verify `$ARCHIVE` before extracting it (the install script does this automatically).

    To pin a specific version, set `VERSION=0.1.43` (or any published release) instead of resolving from `$BASE_URL/latest`.
  </Tab>
</Tabs>

## Verify [#verify]

```bash
ccp --version
# ccp 0.1.0 (abc1234)
# runtime 146.9.0
```

The second line is the embedded V8 engine version, not the CLI version.

## Shell Completions [#shell-completions]

CCP can generate completions for your shell. The `completions` command writes the file and prints setup instructions.

<Tabs items="[&#x22;Zsh&#x22;, &#x22;Bash&#x22;, &#x22;Fish&#x22;]">
  <Tab value="Zsh">
    ```bash
    ccp completions zsh
    # Installs to ~/.zsh/completions/_ccp
    # Add to ~/.zshrc:
    #   fpath=(~/.zsh/completions $fpath)
    #   autoload -Uz compinit && compinit
    ```
  </Tab>

  <Tab value="Bash">
    ```bash
    ccp completions bash
    # Installs to ~/.bash_completion.d/ccp
    # Add to ~/.bashrc:
    #   source ~/.bash_completion.d/ccp
    ```
  </Tab>

  <Tab value="Fish">
    ```bash
    ccp completions fish
    # Installs to ~/.config/fish/completions/ccp.fish
    # Loaded automatically by Fish
    ```
  </Tab>
</Tabs>
