local-first control plane

Keep coding when a subscription hits its limit.

Connect the accounts and coding agents you already use. Claudexor reads real quota for supported subscriptions, switches on confirmed limits when you enable rotation, and keeps every run in one auditable thread.

MIT · no telemetry · macOS app, Linux CLI

Your five-hour window resets at 14:02. Your deadline does not.

Subscription routingon your Mac
Claude Code · personallimit reached · resets 14:02
100%
Claude Code · worknext ready account
31%
Codex · personalready
18%
Thread contextcarried into the next run
cross-family reviewclaude ✓ · cursor ✓ · codex ✗
7-day windowresets in 2d 6h

your coding stack, connected

One project thread across every agent.

Claudexor connects the tools you already use, routes each run to a ready harness, and brings the result back into one inspectable history.

One task historyPlans, runs, reviews, and results stay connected.
Ready-agent routingChoose manually or route from live readiness and quota.
Cross-family verificationReview work with a different model family before delivery.

quota-aware rotation

Use the headroom you already pay for.

Add separate Claude Code and Codex profiles without mixing credentials. Claudexor shows live subscription windows and, when you enable rotation, moves work only after a confirmed limit — never an ordinary network error.

accounts & quota
Accounts and quota view
Live 5-hour and 7-day windows per account. Rotation is opt-in.

Isolated profiles

Separate Claude config dirs and Codex homes. No shared credential jar, no cross-talk.

Real quota facts

Five-hour, seven-day, reset and per-model windows stay attributed to the profile that reported them.

Typed handoff

The next profile receives bounded task context — not a pretend migration of the vendor session.

cross-harness orchestration

Use each agent for the part it's actually good at.

Plan in Claude Code, implement in Codex, let Cursor and Claude attack the patch, apply only what survives. The thread stays one auditable chain even when the harness underneath it changes.

planClaude Code

Shape the task, freeze it as a content-hashed contract.

implementCodex

Work in an isolated lane and produce an inspectable patch.

reviewCross-family panel

A model won't forgive itself if the reviewer is from another family.

deliverTyped gate

Apply, commit, branch — or stop, with the reason attached.

Race independent approaches

best-of-N runs isolated candidates, reviews across model families, and arbitrates a winner with evidence — not with vibes.

result receipt
Review receipt
Finished is not the same as verified. The receipt says which one you got.

running in production

Claudexor powers delegated coding in Ouroboros.

Ouroboros owns its tasks, memory, review, and final integration. It runs an exact-pinned Claudexor build to execute work through connected coding harnesses and receive durable execution evidence.

One clear ownership boundary

Ouroboros decides what to do and what to keep. Claudexor routes and runs the selected harness, then returns the evidence needed for review and integration.

  1. Ouroboros tasks · memory · review
  2. Claudexor routing · execution · evidence
  3. Connected harnesses Claude Code · Codex · Cursor · OpenCode

exact boundaries

No magic session teleportation.

where rotation applies
Multi-subscription quota telemetry and automatic profile rotation are available for Claude Code and Codex.
where each harness can participate
Claude Code, Codex, Cursor and OpenCode can join the same thread wherever Doctor has enabled the requested role; unavailable roles stay disabled with the reason attached.
what "shared context" means
Bounded continuation packets travel between lanes. Native vendor-session resume never crosses a credential profile.
what this page collects
Nothing. No analytics, no trackers, no remote fonts, no external requests of any kind.

install

Start with the app, or stay in the terminal.

The macOS app bundles its own runtime and updates in place against a signed manifest. The CLI and daemon also run on Linux.

terminal
$ npm install -g claudexor
$ claudexor doctor

# ask, compare, inspect, apply
$ claudexor ask "map this repo"
$ claudexor best-of "fix add()" --n 3
$ claudexor apply <run_id> --dry-run