razzant/claudexor
Multi-harness control plane for Claude Code, Codex, Cursor, and OpenCode: quota-aware rotation across multiple Claude/Codex subscriptions, shared thread context, and cross-model review.
Claudexor – a local‑first control plane for AI‑powered coding agents
What it is – Claudexor is an open‑source Node.js application that sits on your own machine and orchestrates the various AI‑code‑generation tools you already pay for (GitHub Codex, Anthropic Claude Code, Cursor CLI, OpenCode, Antigravity/Gemini, etc.). It presents a single, typed API that turns each vendor’s native CLI or API into a uniform “chat‑turn” model:
- Read‑only turns ask a question and get the vendor’s native answer.
- Write turns produce an inspectable patch that can be reviewed, audited, and applied.
- Best‑of‑N races let multiple harnesses generate competing solutions, which are then cross‑reviewed and arbitrated.
- Typed facts (cost, quota, authentication, web evidence) are recorded for every operation, giving you a deterministic audit trail.
All of this runs locally, stores state in plain files, and does not ship any telemetry.
Core capabilities
| Feature | What it does |
|---|---|
| Unified interface | One claudexor CLI (and a macOS desktop app) talks to any supported vendor without you learning each vendor’s quirks. |
| Credential profiles | Named profiles let you keep several subscriptions side‑by‑side, each with its own quota tracking and isolated state. |
| Budget & quota accounting | Every request logs the exact cost and remaining quota; unknown costs are never reported as $0. |
| Best‑of‑N races & arbitration | Run the same task on multiple models, collect patches, and let a configurable reviewer panel pick the best result. |
| Deterministic gates & protected paths | Define globs (e.g., **/*.env, migrations/**) that must be manually approved before a patch can be applied. |
| Remote‑SSH execution | The macOS UI can launch a thread on a remote Linux/macOS host via SSH, keeping the UI local while the heavy work runs elsewhere. |
| Daemon & control API | A background daemon (claudexord) handles long‑running jobs, streaming events, and a JSON‑over‑HTTP control surface for embedding callers. |
| Integration with Ouroboros | Claudexor can be used as the execution layer inside the Ouroboros self‑developing agent, providing durable evidence of code changes. |
| No hidden telemetry | All data lives in ~/.claudexor (or the project’s workspace) and is never sent upstream. |
Typical workflow (CLI example)
# Install the CLI globally
npm install -g claudexor
claudexor doctor # sanity‑check your environment
# Simple read‑only query
claudexor ask "What does this function return?"
# Run a coding task with a specific harness (e.g., Codex)
claudexor agent "fix the failing auth refresh test" --harness codex
# Race two models and keep the smallest patch
claudexor best-of "optimize add()" --harness codex,claude --n 2
# Inspect the generated run
claudexor inspect <run_id>
# Apply the patch (dry‑run first)
claudexor apply <run_id> --dry-run
The same commands are available from the graphical macOS app, which also shows live quota bars, thread lists, and inline artifact previews.
Installation options
| Method | Details |
|---|---|
| npm (CLI + daemon) | npm install -g claudexor gives you the claudexor and claudexord binaries. Works on macOS and Linux. |
| macOS app | Download the signed DMG from the GitHub releases page, drag‑and‑drop into Applications. The app bundles its own Node runtime and daemon, so no separate Node install is needed beyond the bundled version. |
| From source | Clone the repo, run pnpm install --frozen-lockfile && pnpm build. Use the built packages/cli/dist/cli.js as the entry point. |
| Remote‑SSH | The app can spin up a thread on any host reachable via your existing ~/.ssh/config. Credentials stay on the remote host; only the UI traffic is tunneled locally. |
Who might use it?
- Individual developers who subscribe to multiple AI‑coding services and want a single, auditable workflow.
- Teams that need deterministic cost tracking, quota enforcement, and review gates before code is merged.
- Researchers / agents building higher‑level autonomous systems (e.g., the Ouroboros self‑developing agent) that need a reliable, locally‑hosted execution layer.
- Security‑conscious users who refuse any telemetry and want all state stored on‑disk.
Maturity & stability
- Current release: v3.10.2.
- The project defines a “Stability at 2.0” contract: core verbs and mode IDs are stable; anything marked experimental may change.
- Signed runtime manifests protect against supply‑chain attacks; the app refuses unsigned or tampered updates.
- Remote‑host bootstrap works for releases up to v3.7; releases v3.8‑v3.9.7 require a fresh DMG because of missing signing documents.
- Windows is not officially supported yet (local harness installer is typed‑unsupported on Windows).
Privacy & data residency
- All files (run logs, patches, quota records, secrets) live under
~/.claudexoror the project’s workspace. - No background telemetry; the only network traffic is to the vendor APIs you explicitly configure.
- Secrets (API keys, OAuth tokens) are stored using the platform’s native secret‑storage conventions and are never written in plain text to logs.
Quick links
- Website: https://claudexor.ai/
- Docs:
docs/ARCHITECTURE.md,docs/AGENT_ONBOARDING.md,docs/FEATURES.md - GitHub: https://github.com/razzant/claudexor
- npm package: https://www.npmjs.com/package/claudexor
Bottom line
Claudexor is a genuine, production‑ready tool that lets you treat a handful of commercial AI‑coding services as a single, auditable, locally‑hosted platform. It adds budgeting, multi‑model racing, review arbitration, and strict file‑based state management on top of the vendors’ own CLIs, making AI‑assisted development more predictable and safer.
Related
- Project
- Project
- Project
- Project
- Project