Skip to content
DocsStart here
On this page

Install Haarness

One command installs haarness, which gives you the terminal UI and the CLI, and then the Desktop app. Both run on your machine and need no account or administrator rights.

You need: a terminal (PowerShell on Windows). Next you will: connect a model.

Install with one command

On macOS or Linux:

curl -fsSL https://haarness.ai/install.sh | sh

On Windows, in PowerShell:

irm https://haarness.ai/install.ps1 | iex

The installer picks the builds for your system, checks each download's SHA-256 checksum, and prints Installed Haarness <version> with the path it used. If anything fails, what you had before is left unchanged.

System CLI Desktop
macOS ~/.local/bin/haarness /Applications/Haarness.app (~/Applications if you cannot write to /Applications)
Linux ~/.local/bin/haarness ~/.local/bin/Haarness.AppImage, with a haarness-desktop command and a menu entry
Windows %LOCALAPPDATA%\Haarness\bin\haarness.exe Desktop's setup wizard opens; afterwards, start it from the Start menu

If haarness is not found afterwards: on macOS and Linux the installer prints an export PATH=… line when the folder is not on your PATH. Add it to your shell profile and open a new terminal. On Windows the installer adds the folder to your user PATH itself (set HAARNESS_NO_MODIFY_PATH=1 first to leave it alone); open a new terminal.

Install only the CLI

curl -fsSL https://haarness.ai/install.sh | sh -s -- --no-desktop
$env:HAARNESS_NO_DESKTOP='1'; irm https://haarness.ai/install.ps1 | iex

On Linux the installer also skips Desktop when there is no graphical session (over SSH, in a container), and prints the command that adds it later. If Desktop fails to install, the CLI stays installed and the installer says how to retry.

Which systems are supported?

  • macOS: Apple silicon and Intel.
  • Windows: Windows 10 and 11, x64 and ARM64. Nothing else needs to be installed.
  • Linux: x64 and ARM64 with glibc 2.17 or newer, which covers every maintained distribution, including Ubuntu 18.04+, Debian 10+, RHEL and Rocky 8+ and Amazon Linux 2. Haarness does not need Git, but HTTPS needs your distribution's ca-certificates package, which minimal container images leave out. musl systems such as Alpine are not supported yet. Desktop starts faster when FUSE 2 is installed (libfuse2, or libfuse2t64 on Ubuntu 24.04 and later); the installer reminds you when it is missing.

Check that it works

haarness --version
haarness doctor

doctor checks the terminal library and the ripgrep search tool that ship inside Haarness, and shows the folders where it keeps your settings and data. On Linux it also counts the trusted certificates it found. It stops with an error if a check fails.

Open or add the Desktop app

haarness desktop

This opens Desktop, and installs it first if you skipped it. To install only Desktop:

curl -fsSL https://haarness.ai/install.sh | HAARNESS_PRODUCT=desktop sh
$env:HAARNESS_PRODUCT='desktop'; irm https://haarness.ai/install.ps1 | iex

Desktop includes its own copy of Haarness, so it works without the CLI. See Install and first run for what happens next.

Let agents use your Chrome

The haarness command and Desktop both include Haarness for Chrome, the extension that lets agents work in your own Google Chrome, signed in as you. Run haarness browser setup, then load the extension in Chrome as the command explains. Use your Chrome walks through it.

Update Haarness

haarness --update

This replaces the haarness command in place with the latest stable release, after checking its checksum. The terminal UI tells you on a new chat when there is one. haarness upgrade does the same and takes --channel preview for the preview channel, or --version <version> for a specific release.

Desktop updates itself: it downloads a new version in the background and shows Restart to update in the sidebar when it is ready (Updates). Desktop 0.1.5 and earlier do not; run the install command again once to get a version that does.

Install a preview or a specific version

Set these before the install command:

Variable Effect
HAARNESS_CHANNEL=preview Install the preview channel instead of stable
HAARNESS_VERSION=<version> Install that exact published version
HAARNESS_PRODUCT=cli or desktop Install only that one
HAARNESS_NO_DESKTOP=1 Install only the CLI (same as --no-desktop)
HAARNESS_INSTALL_DIR=<folder> Install the CLI somewhere else (Desktop, with HAARNESS_PRODUCT=desktop)
HAARNESS_DESKTOP_DIR=<folder> Install Desktop somewhere else (macOS and Linux)
curl -fsSL https://haarness.ai/install.sh | HAARNESS_CHANNEL=preview sh

The download page shows the exact commands for each channel.

Verify a download yourself

The download page lists every build with its version, size and SHA-256 checksum. CLI downloads are single executables, not archives. Compare the checksum before you run the file:

shasum -a 256 haarness-macos-arm64

All checksums are also listed on one page for offline checking.

Build from source

You need the Rust toolchain pinned in the repository (rustup installs it on first use). Nothing else: the terminal library and ripgrep are included.

git clone https://github.com/haarness/haarness
cd haarness
cargo build --release
./target/release/haarness doctor

Where does Haarness keep its files?

Path What is there
~/.config/haarness/haarness.json Your settings (Configure Haarness)
~/.config/haarness/config.toml Terminal UI settings, such as shortcuts
~/.local/share/haarness/ Chats, logs, and provider credentials in auth.json, readable only by you
<project>/.haarness/ Settings, agents, commands and skills for one project

The same folders are used on Windows, under your user folder. haarness logs prints where the logs are, and haarness logs --tail 50 shows the latest lines. Where Haarness keeps its files has the full list, including HAARNESS_HOME.

Your chats and code are not uploaded. Haarness shares a daily summary of usage counts unless you turn it off; see What Haarness shares.

Uninstall Haarness

  1. Quit Desktop and any terminal UI. In a project where Haarness may still be working, haarness serve --stop ends its background server.
  2. Turn off what runs without you. Your operating system starts schedules on their own: haarness schedule list shows them and haarness schedule remove <id> deletes each one. If you connected this computer to Haarness Cloud, haarness remote status shows its connector and haarness remote revoke <id> takes its access away.
  3. If you set up Haarness for Chrome, run haarness browser remove and remove the extension in Chrome.
  4. If you will delete your data too, sign out first with haarness logout, and remove any MCP secret you stored in the system keychain with haarness mcp secret remove <name>.
  5. Delete the programs: the files in the install table. On Linux, also delete ~/.local/bin/haarness-desktop, ~/.local/share/applications/haarness-desktop.desktop and ~/.local/share/icons/haarness-desktop.png. On Windows, remove Desktop under Settings → Apps.
  6. To delete your settings, chats and stored keys, delete these folders. This cannot be undone.
    • ~/.config/haarness, ~/.local/share/haarness, ~/.local/state/haarness and ~/.cache/haarness in your home folder, on every system.
    • Desktop's own folder: ~/Library/Application Support/Haarness on macOS, %APPDATA%\Haarness on Windows, ~/.config/Haarness on Linux. On macOS, also ~/Library/Application Support/dev.haarness.haarness if it exists.

Next

Connect a provider so Haarness has a model to talk to.