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

# Installation

> Install oobo on macOS, Linux, or Windows in under a minute.

## Homebrew (macOS & Linux)

```bash theme={null}
brew tap ooboai/tap
brew install oobo
```

Upgrade later with `brew upgrade oobo`.

## Install script - macOS & Linux (humans)

```bash theme={null}
curl -fsSL https://oobo.ai/install.sh | bash
```

The script detects your OS and architecture, downloads the correct binary from GitHub Releases, and places it in `~/.oobo/bin/`. It also adds that directory to your PATH by appending to your shell RC file (`.zshrc`, `.bashrc`, or `config.fish`).

## Install script - macOS & Linux (agents)

For AI agents and CI environments, pass `--agent` for silent install with JSON output:

```bash theme={null}
curl -fsSL https://oobo.ai/install.sh | bash -s -- --agent
```

On success, this prints a single JSON line:

```json theme={null}
{"status":"ok","version":"v2.0.0","binary":"/home/user/.oobo/bin/oobo","platform":"x86_64-unknown-linux-gnu"}
```

On failure:

```json theme={null}
{"error":"unsupported platform: ..."}
```

No colors, no progress bars, no interactive prompts. The `--agent` flag exists so that AI coding agents (Cursor, Claude Code, Codex, etc.) can install oobo programmatically without parsing human-readable output.

### How agents find the install command

Oobo ships with a skill file at `~/.agents/skills/oobo/SKILL.md`. The YAML frontmatter includes:

```yaml theme={null}
install:
  check: command -v oobo
  run: curl -fsSL https://oobo.ai/install.sh | bash -s -- --agent
```

Most AI coding tools scan `~/.agents/skills/` for skill files automatically. When an agent reads oobo's skill, it knows how to check if oobo is installed and how to install it if not.

The skill file is installed during `oobo setup`. The canonical file lives at `~/.oobo/skills/oobo/SKILL.md` and is symlinked into supported agent skill directories.

```bash theme={null}
oobo setup --non-interactive
```

## Install script - Windows

```powershell theme={null}
irm https://oobo.ai/install.ps1 | iex
```

The PowerShell script downloads the Windows binary from GitHub Releases and places it in `~/.oobo/bin/`. It adds that directory to your user PATH automatically.

## Environment variables

The install scripts respect these environment variables:

| Variable              | Default       | Description                          |
| --------------------- | ------------- | ------------------------------------ |
| `OOBO_INSTALL_DIR`    | `~/.oobo/bin` | Override the install directory       |
| `OOBO_VERSION`        | latest        | Install a specific version tag       |
| `OOBO_NO_MODIFY_PATH` | unset         | Set to `1` to skip PATH modification |

## Download binary

Grab a pre-built binary from [GitHub Releases](https://github.com/ooboai/oobo/releases).

**Supported platforms:**

| OS      | Architecture            | Binary                                             |
| ------- | ----------------------- | -------------------------------------------------- |
| macOS   | Apple Silicon (aarch64) | `oobo-<version>-aarch64-apple-darwin.tar.gz`       |
| macOS   | Intel (x86\_64)         | `oobo-<version>-x86_64-apple-darwin.tar.gz`        |
| Linux   | x86\_64 (glibc)         | `oobo-<version>-x86_64-unknown-linux-gnu.tar.gz`   |
| Linux   | x86\_64 (musl/static)   | `oobo-<version>-x86_64-unknown-linux-musl.tar.gz`  |
| Linux   | ARM64 (glibc)           | `oobo-<version>-aarch64-unknown-linux-gnu.tar.gz`  |
| Linux   | ARM64 (musl/static)     | `oobo-<version>-aarch64-unknown-linux-musl.tar.gz` |
| Windows | x86\_64                 | `oobo-<version>-x86_64-pc-windows-msvc.zip`        |

## Build from source

Requires [Rust](https://rustup.rs/) (tested with 1.94+).

```bash theme={null}
git clone https://github.com/ooboai/oobo.git && cd oobo
cargo build --release
# binary at target/release/oobo
```

Or install directly:

```bash theme={null}
cargo install --git https://github.com/ooboai/oobo --locked
```

## Docker

```dockerfile theme={null}
FROM rust:1-slim AS builder
WORKDIR /build
COPY Cargo.toml Cargo.lock ./
COPY src/ src/
RUN cargo build --release

FROM debian:bookworm-slim
COPY --from=builder /build/target/release/oobo /usr/local/bin/
ENTRYPOINT ["oobo"]
```

## Self-update

Once installed, oobo can update itself:

```bash theme={null}
oobo update           # download and install latest
oobo update --check   # just check, don't install
```

## Verify installation

```bash theme={null}
oobo --version
```

Prints the installed oobo version.
