xcb and pi
pi is a minimal coding agent that you reshape with TypeScript extensions, and it calls 15+ model providers directly. xcb sits above the providers’ own agents and routes each task to one of your subscriptions; you can reshape its terminal and routing, and nothing you add widens what a provider run may do.
Which one to pick
Pick pi when
- You want to change the agent itself: its tools, prompts, context handling, and interface.
- You want one agent across 15+ providers, your own API keys, or local models.
- You want the agent to work directly on your machine, with your shell, Git, and network.
- You want to embed an agent with its SDK or drive it over RPC.
Pick xcb when
- You pay for Claude, Codex, or Devin and want each task to run through that provider’s own agent.
- You want each task sent to an account that can take it now, and held there until the run ends.
- You want to customize the harness and still have every provider run sandboxed with the same tools.
Side by side
| Aspect | pi | xcb |
|---|---|---|
| What it is | A coding agent with a minimal core that you extend | A router and terminal around the providers’ own agents |
| Model access | 15+ providers through API keys or OAuth, including Claude Pro/Max and ChatGPT plans | Your Claude, Codex, and Devin subscriptions, through Claude Code, Codex, and the Devin CLI |
| What you change | Tools, commands, prompts, compaction, and the whole interface, through TypeScript extensions | Panes, hooks, and reflex programs; none of them can add tools or permissions to a provider run |
| Permissions | No permission prompts; run it in a container or build your own confirmation flow | Every provider run is sandboxed; commands run in an offline Linux VM on macOS ARM64 |
| Scripting | Print and JSON modes, RPC over stdin and stdout, and an SDK | xcb --json route takes one task and returns the result, the account and model used, and how the run ended |
| Learning | Ask pi to write an extension, then load it with /reload | Two reflexes learn which model tier you want and when a task stopped early; you can roll them back |
| Platforms | macOS, Linux, and Windows | macOS ARM64 and Linux x86_64, with no Windows build; Codex and Devin need macOS, and Claude on Linux isn’t confirmed |
| License | MIT | MIT |
What you can reshape
Both projects treat the harness as yours to change. In pi, the agent loop itself is yours: an extension can add tools, replace compaction, or redraw the interface, and pi can write the extension for you.
xcb keeps the agent loop inside each provider’s own tool and lets you reshape what surrounds it. Panes describe what the terminal shows, and /pane generate writes one from a description. Hooks run programs you choose when a session or turn starts or ends. Reflex programs change how xcb picks a model tier or reads how a turn ended.
None of these can give a provider run more tools, files, or network access. Panes are layout, not code. A hook stays off until you enable it, runs with a cleared environment, and won’t run again if its file changes. A replacement reflex program runs only if it has no side effects and calls no agents. A harness that tunes its own routing rules is in development, and the current build does not run self-modifying routing policies.
Using a Claude subscription
pi can sign in to a Claude Pro or Max plan itself, or use an Anthropic API key, and calls Claude directly. xcb runs the unmodified Claude Code binary, signed in through Claude Code’s own claude setup-token flow. Anthropic’s Claude Code legal page ↗ says OAuth sign-in with a Claude plan “is designed to support ordinary use of Claude Code and other native Anthropic applications.” The same page says its rules don’t “prevent an end user from signing in to the unmodified Claude Code binary with their own Claude subscription”.
For ChatGPT plans, OpenAI’s Codex for Open Source page ↗ says developers “should code in the tools they prefer, whether that’s Codex, OpenCode, Cline, pi, OpenClaw, or something else”.
Sources
- pi home page ↗Checked
- pi AI library: OAuth providers ↗Checked
- Anthropic: Claude Code legal and compliance ↗Checked
- OpenAI: Codex for Open Source ↗Checked
- xcb: Make it yoursChecked
- xcb: Learned routing and continuationChecked