pi-black
Patched Pi coding agent that routes Anthropic OAuth through a Claude Pro/Max subscription
TLDR
SYNOPSIS
pi-black [options] [--] [@files...] [messages...]
DESCRIPTION
pi-black is an unofficial build of the Pi terminal coding agent (@earendil-works/pi-coding-agent) that reshapes Anthropic OAuth requests so they match Claude Code 2.1.224 wire conventions. The goal is to spend a Claude Pro or Max subscription from Pi rather than from Claude Code.Two install paths exist:1. Standalone binary (this command). `install.sh` downloads a checksum-verified archive for Linux/macOS x64 or arm64, writes ~/.local/bin/pi-black and ~/.local/bin/pi-black-runtime/, and may append that directory to PATH. On interactive startup the launcher compares the installed archive digest to the latest GitHub release and offers an update.2. Pi package (recommended upstream). `pi install git:github.com/paoloanzn/pi-black` replaces only the built-in Anthropic provider inside an existing pi. API-key requests and non-Anthropic providers pass through. The package fails closed unless Pi is 0.84.1, 0.84.2, or 0.84.3.After Anthropic login (`/login anthropic`), Pi Black reproduces Claude Code request shape for OAuth calls: billing/Agent SDK system-block order, a prompt-dependent cc_version suffix, structure-aware cch (seeded XXH64), x-client-request-id, Claude Code session headers, and optional identity metadata read in memory from ~/.claude.json (or CLAUDE_CONFIG_DIR). Those values are not copied, printed, or persisted.Otherwise it is Pi: interactive TUI, print/JSON/RPC modes, sessions under ~/.pi/agent/sessions/, and tools read / write / edit / bash. See Pi's own CLI help for the full flag set.
PARAMETERS
The standalone launcher execs a patched pi binary with the same argv. Flags below are upstream Pi options that pi-black forwards unchanged.-p, --print
Print the response and exit (non-interactive). Stdin is merged into the prompt.-c, --continue
Continue the most recent session.-r, --resume
Browse and select a past session.--provider name
Provider (for example anthropic).--model id
Model id or provider/id (optional :thinking suffix).--thinking level
off, minimal, low, medium, high, xhigh, or max.-t list, --tools list
Allowlist tool names. Built-ins include read, write, edit, bash, grep, find, ls.--no-session
Do not save a session file.-n name, --name name
Session display name at startup.-h, --help
Show help.-v, --version
Show version.PI_BLACK_NO_UPDATE_CHECK
Set to 1 to skip the launcher checksum check against GitHub Releases. PI_OFFLINE=1 also disables it.PI_BLACK_INSTALL_DIR
Install location for install.sh (default ~/.local/bin). The runtime unpacks next to the launcher as pi-black-runtime/.PI_BLACK_RELEASE
Pin install.sh to a release tag instead of latest.
CAVEATS
Unofficial and not affiliated with Anthropic or upstream Pi. Using a Claude subscription this way may violate the provider's terms; users must supply their own credentials and decide whether that is allowed.The compatibility layer is version-specific (Claude Code protocol 2.1.224; standalone binary based on Pi 0.84.1). New Pi releases are not accepted until they are revalidated. Checksums cover release assets; they do not make the protocol mapping future-proof.The agent can edit files and run shell commands. Treat it like any other coding agent: use trusted directories, review tool calls, and prefer containers when untrusted.Do not confuse this binary with GNU pi (digits of π), which occupies the pi command name in this library.
HISTORY
Pi is the minimal coding harness by Mario Zechner / Earendil Works (MIT). Pi Black (paoloanzn, MIT) pins a Pi commit, applies patches under patches/, and publishes both a Pi package and standalone binaries. The package is the maintained install; the binary is a fallback.
