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

# Install pitboard

> Get the command line or the menu bar app from Homebrew, a release download or Cargo, and keep it updated.

pitboard is a command line for macOS and Linux, and a menu bar app for macOS. The app includes the command line, so install one or the other.

## What you need

* For the command line: macOS on Apple silicon or Intel, or Linux on x86\_64 or aarch64.
* For the app: macOS 14 or later, on Apple silicon or Intel.
* Claude Code or OpenAI's Codex CLI, installed and signed in to one of your accounts.

For what Codex needs, see [Use pitboard with Codex](/guides/codex#before-you-enrol-a-codex-account).

Linux builds are static, so one file runs on any distribution. Windows is not supported: Claude Code keeps its login differently there, and pitboard has not been written for it.

pitboard is pre-release. macOS is tested. On Linux, pitboard builds and its tests pass. It has not been run with a real signed-in Claude Code or Codex.

## Install with Homebrew

```sh theme={null}
brew install datlechin/tap/pitboard            # the command line, macOS and Linux
brew install --cask datlechin/tap/pitboard-app # the menu bar app, macOS 14 or later
```

The `pitboard` cask installs the command line with its man page and its completions for bash, zsh and fish. The `pitboard-app` cask installs the app and puts the app's command line on your `PATH`, with the same man page and completions.

Homebrew refuses to install one while the other is installed, because both put `pitboard` on your `PATH`.

To check the command line, run `pitboard --version`. The app has no Dock icon, only pitboard's item in the menu bar.

## Install without Homebrew

Without Homebrew, install pitboard with Cargo, from a release file or from source.

### Fetch the release build with Cargo

[cargo-binstall](https://github.com/cargo-bins/cargo-binstall) downloads pitboard's own release build for your machine. Install it first, then run:

```sh theme={null}
cargo binstall pitboard
```

### Download a release file

The [latest release](https://github.com/datlechin/pitboard/releases/latest) has these files, where `<version>` is the release's version:

| For                                  | File                                                    |
| ------------------------------------ | ------------------------------------------------------- |
| Command line, macOS on Apple silicon | `pitboard-v<version>-aarch64-apple-darwin.tar.gz`       |
| Command line, macOS on Intel         | `pitboard-v<version>-x86_64-apple-darwin.tar.gz`        |
| Command line, Linux on x86\_64       | `pitboard-v<version>-x86_64-unknown-linux-musl.tar.gz`  |
| Command line, Linux on aarch64       | `pitboard-v<version>-aarch64-unknown-linux-musl.tar.gz` |
| The app, macOS 14 or later           | `Pitboard-v<version>-macos.zip`                         |

Each tarball holds `pitboard`, its man page `pitboard.1`, completions for bash, zsh and fish, and `LICENSE`, `NOTICE` and `README.md`. Unpack it and copy `pitboard` to a directory on your `PATH`.

For the app, move `Pitboard.app` to your Applications folder before you open it. Until then, macOS runs it from a temporary copy, where the app cannot turn on [daily renewal](/guides/renewal) or put its command line on your `PATH`.

To check a file before you run it, see [Verify a download](/install/verify).

### Build from source

Building [pitboard from crates.io](https://crates.io/crates/pitboard) needs Rust 1.91 or later and a C compiler.

```sh theme={null}
cargo install --locked pitboard
```

Without `--locked`, Cargo ignores the `Cargo.lock` pitboard was released with and may pick newer dependencies.

Neither Cargo route installs the man page or the completions. `pitboard manpage` and `pitboard completions` print them; see [Integration commands](/reference/integration-commands).

To build the app, you need Xcode and Rust. In a clone of [pitboard's repository](https://github.com/datlechin/pitboard), run:

```sh theme={null}
rustup target add aarch64-apple-darwin x86_64-apple-darwin
./apple/scripts/build-app.sh
cp -R apple/build/Pitboard.app /Applications/
```

An app you build does not update itself, because it carries no update key. For working on the app and running its tests, see [CONTRIBUTING.md](https://github.com/datlechin/pitboard/blob/main/CONTRIBUTING.md#the-app).

## Add the app's command line to your PATH

The `pitboard-app` cask does this for you. Without the cask, Settings can do it when no other `pitboard` is installed:

1. Click pitboard's item in the menu bar, choose **Settings**, then click **Command Line**.
2. Click **Install Command Line Tool**, and enter an administrator's password when macOS asks. The **In your terminal** row shows `/usr/local/bin/pitboard`.

That path is a link to `Pitboard.app/Contents/Helpers/pitboard`, so the command line updates with the app.

With another `pitboard` installed, the tab shows its path and no button.

## Update pitboard

| Installed with                                     | To update                                                                                                                                                                                                                                                                                            |
| -------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| The `pitboard` cask                                | Run `brew upgrade`.                                                                                                                                                                                                                                                                                  |
| The `pitboard-app` cask, or the app from a release | The app checks once a day, and pitboard's menu shows **Install pitboard** `<version>` when it finds an update. The update replaces the command line inside the app too. To check at once, choose **Check for Updates** in pitboard's menu. `brew upgrade` skips this cask unless you add `--greedy`. |
| `cargo binstall`                                   | Run `cargo binstall pitboard` again.                                                                                                                                                                                                                                                                 |
| `cargo install`                                    | Run `cargo install --locked pitboard` again.                                                                                                                                                                                                                                                         |
| A release tarball                                  | Replace the files with those from the next release.                                                                                                                                                                                                                                                  |
| An app you built                                   | Build it again.                                                                                                                                                                                                                                                                                      |

For the app's update settings, see [Settings](/reference/settings#updates).

The app and a command line installed apart from it update separately, so keep them at the same version. An older pitboard stops with an error saying a file `was written by a newer pitboard`. Update the older one the way you installed it.

Next, add your accounts: follow the [Quickstart](/quickstart) from its second step, or in the app, see [Add and manage accounts](/guides/accounts).
