Install xcb
One command installs xcb. Then connect an account and give it a task. It takes a few minutes, and nothing runs as root.
Before you start
- A Mac with Apple silicon, or a Linux x86_64 machine with glibc 2.34 or newer (Ubuntu 22.04, Debian 12, RHEL 9, and later). Other systems can build from source.
- For Claude: a Claude subscription and Claude Code 2.1.268 or later. Check with
claude --version. - For Codex (macOS): Codex CLI 0.156.1, which
npm install -g @openai/codex@0.156.1installs. - For Devin (macOS): Devin CLI 3000.11.3, signed in with
devin auth login.
1. Install xcb
Paste this into your terminal. It downloads the release for your computer, checks its SHA-256 checksum, and puts xcb in ~/.local/bin:
curl -fsSL https://xcb.sh/install.sh | shWhen it finishes, xcb --version prints the version. If your shell says it can’t find xcb, add this line to your shell profile (~/.zshrc on a Mac) and open a new terminal:
export PATH="$HOME/.local/bin:$PATH"2. Connect an account
xcb setup claudeThis adds a Claude account, checks your Claude Code build, opens the sign-in page in your browser, and loads the account’s models. xcb keeps this sign-in in its own folder, so your usual Claude Code login is unaffected. Codex and Devin have their own steps in Accounts and models.
3. Give it a task
cd ~/path/to/your/project
xcbThis opens your thread. Type a task, such as fix the failing test in add.js, and press Enter. xcb says which project folder it chose, picks an account and model that can take the task, and shows the answer when the task finishes. Close the terminal whenever you like: the task keeps running, and the next xcb shows the result. /tasks lists your work and /help lists every command.
The getting started guide walks through a first task step by step.
Ask your agent to install it
Already using Claude Code, Codex, or another coding agent? Paste this prompt into it. It installs and checks xcb, then leaves the sign-in to you:
Install xcb on this machine. Run `curl -fsSL https://xcb.sh/install.sh | sh`, then make sure `xcb --version` works; if the shell can't find it, add ~/.local/bin to my PATH in my shell profile. Then run `xcb doctor` and tell me which providers are ready and the one command I should run next. Don't sign in for me.Build on xcb
From another agent or a script, xcb --json route takes one task as JSON, picks an account and model, and returns one JSON result. With dryRun it shows the route without running anything:
echo '{"version":1,"workspace":"'"$PWD"'","task":"Fix the failing parser test","dryRun":true}' \
| xcb --json routeIn a TypeScript app, install the SDK. There your app names the account and model for each task:
npm install @hraness/xcbThe route guide and the SDK quickstart have the details.
Update and uninstall
xcb upgrade installs the newest release the same way the installer did. To remove xcb, let running tasks finish, then run:
xcb service uninstall # macOS: stop starting the supervisor at login
xcb update disable # stop the daily update check
rm ~/.local/bin/xcbYour accounts, credentials, and history stay in ~/.local/share/xcb until you delete that folder. Upgrade and uninstall lists everything xcb creates.
Build from source
On an Intel Mac, ARM Linux, or any other system, build with Git, Rust 1.97.1, and your platform’s build tools:
git clone https://github.com/hraness/xcb.git
cd xcb
rustup toolchain install 1.97.1 --profile minimal
./scripts/install-native.sh