Skip to content

Requirements

Penates runs on macOS (Apple Silicon and Intel) and Linux. The install script handles most setup, but a few tools must be present before you run it.

Xcode Command Line Tools (macOS only)

node-pty, which drives the terminal, compiles native extensions. Xcode CLT provides the C compiler that npm needs for this:

Terminal window
xcode-select --install

A system dialog appears. Click Install and wait roughly five minutes. If CLT is already installed, the command prints xcode-select: error: command line tools are already installed and you can move on.

Homebrew

Homebrew is the package manager used to install tmux, cloudflared, and other dependencies:

Terminal window
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

After installation, the script prints two lines to add Homebrew to your PATH. Run them exactly as shown, then verify:

Terminal window
brew --version
# Homebrew 4.x.x

On Linux, install.sh uses the system package manager (apt/dnf/pacman) instead of Homebrew.

Node.js ≥ 20

Terminal window
brew install node
node --version
# v20.x.x or newer

Node 18 is end-of-life and not supported.

Claude Code

Claude Code is the only required CLI. Every other coding CLI is optional.

Terminal window
npm install -g @anthropic-ai/claude-code
claude --version

If claude is not found after installation, the binary likely landed in ~/.local/bin, which is not in the default shell PATH on a fresh Mac. Fix it:

Terminal window
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zprofile
source ~/.zprofile

After that, run claude once and follow the prompts to connect your Anthropic account.

Optional CLIs

The hub also spawns Codex (OpenAI) and Antigravity (Google agy). These are optional. A missing CLI causes only that CLI’s sessions to exit with a “not in PATH” error; it does not affect other sessions.

Terminal window
npm install -g @openai/codex # Binary: codex

Antigravity (agy) follows Google’s official install instructions. Both binaries must be in your PATH, same as claude.