# How to Skip the CodeWhale Installer Download: 6 Alternative Methods

> Skip the CodeWhale installer download using npm, Homebrew, Cargo, Docker, or building from source. Discover 6 alternative methods to bypass the zip archive for faster setup.

- Repository: [Hunter Bown/CodeWhale](https://github.com/Hmbown/CodeWhale)
- Tags: how-to-guide
- Published: 2026-06-02

---

**You can skip the CodeWhale installer download by using package managers like npm, Homebrew, or Cargo, running the official Docker image, or building from source, completely bypassing the zip archive download button rendered by `InstallDownloadTile` in the source code.**

The default installation path for **CodeWhale** (available at `Hmbown/CodeWhale`) triggers a download of the latest GitHub Release asset via the web interface. However, the repository provides multiple alternative installation methods that avoid fetching the `.zip` archive directly from the browser.

## Why Skip the Default Installer Download?

The primary download button on the *Install* page is rendered by the **`InstallDownloadTile`** component located in [`web/components/install-download-tile.tsx`](https://github.com/Hmbown/CodeWhale/blob/main/web/components/install-download-tile.tsx). This component auto-detects your platform and points to `https://github.com/Hmbown/CodeWhale/releases/latest/download/<archive>.zip`. While convenient, this requires manual extraction and placement of binaries. The alternative methods below leverage the installation logic defined in `web/app/[locale]/install/page.tsx`, which exposes constants for `CARGO_INSTALL`, `BREW`, `DOCKER`, and `FROM_SOURCE`—allowing you to skip the CodeWhale installer download entirely.

## Six Ways to Install CodeWhale Without the Zip Download

### 1. Use the npm Wrapper (Global Install)

The repository publishes a lightweight Node.js wrapper that handles binary management automatically. As defined in the *Other ways to install* section of the install page, this approach requires only the npm command:

```bash
npm install -g codewhale

```

On first execution, the wrapper downloads the platform-specific binary from the same GitHub Release, eliminating the need for manual zip extraction.

### 2. Install via Homebrew (macOS/Linux)

For users on macOS or Linux, the `BREW` constant in `web/app/[locale]/install/page.tsx` defines a Homebrew tap that distributes pre-built bottles:

```bash
brew tap Hmbown/deepseek-tui
brew install deepseek-tui

```

This method pulls the binaries from Homebrew's own distribution infrastructure, completely bypassing the GitHub asset download and avoiding the manual installer entirely.

### 3. Build with Cargo (Rust Toolchain)

The `CARGO_INSTALL` constant provides commands for building directly from the crates.io registry. This requires only a Rust toolchain and compiles the binaries locally:

```bash
cargo install codewhale-cli --locked
cargo install codewhale-tui --locked

```

This approach installs the `codewhale` and `codewhale-tui` binaries without ever touching the GitHub Releases zip file.

### 4. Run the Docker Container

The `DOCKER` constant defines an official container image that already contains the compiled binaries:

```bash
docker run --rm -it ghcr.io/hmbown/codewhale:latest

```

Since the image is hosted on GitHub Container Registry, no external zip download is required on your host machine—you simply pull the container.

### 5. Use Mirror URLs for Direct Binary Download

If you must download the binary directly but want to avoid the main GitHub asset link, the `InstallDownloadTile` component assembles mirror URLs for region-specific proxies (such as `ghproxy.com` for China). These mirrors serve the same archives through alternative endpoints, allowing you to bypass the standard installer flow while still obtaining the pre-built binary.

### 6. Compile from Source

The `FROM_SOURCE` constant documents the most flexible method: cloning the repository and building locally. This completely sidesteps any release-asset download:

```bash
git clone https://github.com/Hmbown/CodeWhale
cd CodeWhale
cargo build --release
cargo install --path crates/cli --locked   # installs `codewhale`

cargo install --path crates/tui --locked   # installs `codewhale-tui`

```

## Technical Implementation Details

The installation flexibility stems from three key components in the `web` directory:

- **[`web/components/install-download-tile.tsx`](https://github.com/Hmbown/CodeWhale/blob/main/web/components/install-download-tile.tsx)** – Renders the auto-detected download button and assembles mirror links for alternative download sources.
- **[`web/components/install-binary.tsx`](https://github.com/Hmbown/CodeWhale/blob/main/web/components/install-binary.tsx)** – Displays the pre-built binary section that feeds into the download tile's logic.
- **`web/app/[locale]/install/page.tsx`** – Contains the complete *Install* page implementation, defining the `CARGO_INSTALL`, `BREW`, `DOCKER`, and `FROM_SOURCE` constants that power the alternative installation methods.

These components work together to ensure you can install CodeWhale through your preferred package manager or build system rather than relying solely on the browser-based zip download.

## Summary

- **Skip the CodeWhale installer download** by using package managers (npm, Homebrew, Cargo) or Docker instead of the browser button.
- **`InstallDownloadTile`** in [`web/components/install-download-tile.tsx`](https://github.com/Hmbown/CodeWhale/blob/main/web/components/install-download-tile.tsx) controls the default zip download behavior.
- **Homebrew** and **Cargo** installs pull from their respective registries, not GitHub Releases directly.
- **Docker** images contain pre-built binaries at `ghcr.io/hmbown/codewhale:latest`.
- **Building from source** requires only `git` and Rust, completely avoiding release assets.

## Frequently Asked Questions

### Can I install CodeWhale without downloading anything from GitHub?

Yes. Using **Homebrew** (`brew install deepseek-tui`) or **Cargo** (`cargo install codewhale-cli`) pulls the software from their respective package registries rather than GitHub Releases. Alternatively, the **Docker** image at `ghcr.io/hmbown/codewhale:latest` contains the binaries pre-installed.

### Does the npm wrapper download the binary automatically?

Yes. When you run `npm install -g codewhale`, the wrapper installs immediately. However, the actual `codewhale` binary is downloaded from GitHub Releases on the first execution of the command, not during the npm installation phase.

### Is building from source slower than using the installer?

Yes. Compiling with `cargo build --release` requires compiling Rust dependencies and the application code, which typically takes several minutes depending on your hardware. However, this method guarantees you have the latest code and avoids any external release asset downloads.

### Which installation method is best for CI/CD pipelines?

**Docker** is generally optimal for CI/CD because the `ghcr.io/hmbown/codewhale:latest` image provides a reproducible environment with the binaries pre-installed. Alternatively, **Cargo** installs work well in Rust-based workflows where the toolchain is already present, allowing you to pin specific versions using the `--locked` flag.