As your coding agent
Send work from the command line. xcb picks an account and model and prints the result.
xcb run -p "Fix the failing parser test"AI subscription control plane
Excalibur (xcb) is a control plane for Codex and Claude Code subscriptions. Sign in once, then ask an agent to build any topology from its primitives: tasks routed by quota and health, coordinated through a backlog, scaled with load.
macOS
curl -fsSL https://xcb.sh/install.sh | shLinux
curl -fsSL https://xcb.sh/install.sh | shWindows
irm https://xcb.sh/install.ps1 | iexFree and open source · Latest release: v0.20.11
Routing
Each task goes to one account that can take it now, favoring unused quota that is about to reset.
Topology
There is no app or TUI. Sign in once, describe the setup you want, and the agent builds it from xcb’s primitives.
Interfaces
Send work from the command line. xcb picks an account and model and prints the result.
xcb run -p "Fix the failing parser test"Hand a task to xcb as JSON and get the result back as JSON. With the TypeScript SDK, the app names the account and model.
# task.json sets "dryRun": true
{
"version": 1,
"status": "selected",
"requestId": "route_…",
"route": {
"provider": "claude",
"account": "a_…",
"model": "claude/sonnet/low",
"label": "Sonnet · low",
"reason": "deterministic fallback · balanced task · Pareto P1 · quality 92"
}
}In production
Hraness runs its own projects on xcb. The owner’s post of 12 October 2026 describes one month of it.
Figures from A love letter to typing code by hand ↗, one month across Hraness’s own projects and accounts.
Conversations
Import conversations from the last 24 hours, then continue each one on an account that can take it.
xcb sessions discover
xcb sessions import --recentUsage
The installer adds aicharts beside xcb, which keeps your token use by day, agent, provider, and model on this computer.
xcb usage
xcb usage report --csv
xcb usage connectInstall
Install the latest release, connect your Claude account, and run a task.
xcb setup claude
xcb run -p "Explain this repository"On Linux, Claude needs the sandbox setup before your first task. On Windows, Claude runs in WSL2.
Supported builds and setup →Yes. You sign in to your own Claude and Codex accounts through each provider’s own tool, and xcb routes work among them. It has no model access of its own and does not lift provider usage limits; each provider’s pricing and terms still apply.
When a provider reports an exhausted usage window, xcb skips that account and sends the next task to one that can take it. A managed task that stops on a reported limit moves to another account with its original instructions. If no account can take it, the task waits for the reset. xcb never falls back to an API key.
No. xcb is a command-line control plane built for unattended use. You sign in once, then an agent creates projects, tasks, schedules, routes, and hooks through xcb’s commands, and you check in with xcb tasks and xcb attention. Any agent terminal, including herdr, can hold the agent that drives it.
claude-swap changes which login Claude Code uses; xcb picks an account for each task across Claude and Codex and sandboxes each run. Claude Code Router and LLM gateways such as OpenRouter route API requests per token; xcb never touches API traffic and runs whole tasks on the subscriptions you already pay for.
xcb stores accounts, credentials, sessions, and settings on your computer, outside your projects. Model requests go to the provider that runs the task. The optional judge sends limited task context to Cloudflare’s Clef service. The usage history the installer turns on is kept by aicharts on your computer and never uploaded.
On macOS with Apple silicon, commands run offline in a Linux VM with public dependencies you prepare in advance. Git is read-only there, so you review and commit the changes yourself. Native macOS builds cannot run. Registered host MCP tools can provide additional capabilities; native provider shells remain unavailable.