Claudexor
Use the MCP tools supplied by this plugin. They connect to the user's local
Claudexor installation; they do not provide accounts or remote model access.
Preconditions
- Support macOS and Linux. Do not claim Windows support.
- Require Node.js 20.19 or newer and a preinstalled
claudexor command. If the
MCP server is missing, ask the user to run npm install -g claudexor, then
restart the host. Do not download a runtime implicitly.
- If a generated Claudexor host integration already owns the current host's
setup, leave it in place. Do not repair, replace, or uninstall it
automatically.
Choose a route
Start read-only unless the user explicitly asked to change or create files.
- Call
claudexor_status to inspect the aggregate/default-store projection,
but do not use it as a universal admission veto. An unpinned request may be
admitted by the canonical account pool through a ready exact profile even
when default doctor is unavailable; only a genuinely profile-less/default
fallback requires doctor status ok and the requested intent. Aggregate
status neither proves nor vetoes a pooled or explicitly named profile.
- Call
claudexor_accounts before choosing an account or reviewer identity.
It is a read-only atomic snapshot of registered profiles, readiness, quota
freshness, and the daemon's next_up routing projection. available/passed
on the exact selected row is the usable route evidence; unknown,
not_run, or stale quota means uncertain, not absent. Never substitute
aggregate doctor status, another profile's probe, or a host/default login.
Never initiate login or OAuth merely because a row is unknown; ask the user
for explicit authority. An explicit reviewer credentialProfileId is
strict and never falls back, while an omitted id uses the canonical account
pool.
- Call
claudexor_capabilities when the task depends on the current modes,
mutability, controls, models, setup transport, or tool surface. The CLI
claudexor models --harness <id> is default-route discovery, not
a named profile's entitlement; source: none or an unavailable inventory
is an honest refusal, not permission to guess. For a named profile, let the
strict pinned run/reviewer preflight admit the model and verify observed
profile/model telemetry afterward. A declared setupLogin transport of
external_terminal means the host must provide the supported client
terminal attach path; it is not itself unreadiness and must not be silently
treated as in_app.
- Use
claudexor_ask for read-only answers and bounded research, or
claudexor_plan for a read-only implementation plan.
- Only for explicit implementation intent, use
claudexor_run,
claudexor_best_of, or claudexor_create. Pass an absolute repoPath
whenever the target repository could be ambiguous.
Run tools enqueue work and return a durable handle, not terminal output or
proof of completion. Use claudexor_runs, claudexor_inspect,
claudexor_run_status, and claudexor_run_result to recover and follow it.
Use claudexor_run_interactions to read pending questions and
claudexor_answer_interaction only with answers supplied or approved by the
user. Use claudexor_run_cancel only when cancellation is requested.
Use claudexor_apply_check to dry-check delivery. MCP does not apply a patch.
Only when the user explicitly requests delivery and the server-owned
applyEligibility.eligible value is true may the host invoke the ordinary
Claudexor CLI apply path under its normal command permission.
For an explicit reviewer panel, pass entries such as
{"harness":"cursor","model":"cursor-grok-4.6-high","credentialProfileId":"review-cursor"}.
The CLI equivalent is --reviewer-panel-json '<array>'; the legacy compact
--reviewer-panel form stays unpinned and should not be extended with an
escaping-sensitive profile syntax. After review, verify the observed profile
and route proof in the result artifacts.
Use claudexor_journal_recovery for read-only journal inspection, validation,
or export. claudexor_quarantine_journal is destructive: invoke it only after
the user explicitly requests quarantine and provides the exact fingerprint and
confirmation required by its schema.
Safety
- NEVER paste live credentials into prompts. Ask the user to use
claudexor auth login <harness> or claudexor secrets set outside the
conversation; do not collect or transform credentials.
- NEVER auto-answer
claudexor decision for a blocked run. Risk acceptance and
overrides are human decisions, even when the calling host otherwise permits
mutation.
- Do not infer success, applyability, readiness, or completion from model
prose. Use the typed status, result, and
applyEligibility projections.
- Do not claim native vendor sessions move between credential profiles.
1---2name: claudexor3description: Use the local Claudexor control plane for harness-agnostic coding work across Claude Code, Codex, Cursor, and OpenCode. Use when a task benefits from route-aware harness and account selection, quota-aware account rotation, shared thread context, read-only planning or research, best-of-N execution, or cross-harness review.4---56# Claudexor78Use the MCP tools supplied by this plugin. They connect to the user's local9Claudexor installation; they do not provide accounts or remote model access.1011## Preconditions1213- Support macOS and Linux. Do not claim Windows support.14- Require Node.js 20.19 or newer and a preinstalled `claudexor` command. If the15 MCP server is missing, ask the user to run `npm install -g claudexor`, then16 restart the host. Do not download a runtime implicitly.17- If a generated Claudexor host integration already owns the current host's18 setup, leave it in place. Do not repair, replace, or uninstall it19 automatically.2021## Choose a route2223Start read-only unless the user explicitly asked to change or create files.24251. Call `claudexor_status` to inspect the aggregate/default-store projection,26 but do not use it as a universal admission veto. An unpinned request may be27 admitted by the canonical account pool through a ready exact profile even28 when default doctor is unavailable; only a genuinely profile-less/default29 fallback requires doctor status `ok` and the requested intent. Aggregate30 status neither proves nor vetoes a pooled or explicitly named profile.312. Call `claudexor_accounts` before choosing an account or reviewer identity.32 It is a read-only atomic snapshot of registered profiles, readiness, quota33 freshness, and the daemon's `next_up` routing projection. `available/passed`34 on the exact selected row is the usable route evidence; `unknown`,35 `not_run`, or stale quota means uncertain, not absent. Never substitute36 aggregate doctor status, another profile's probe, or a host/default login.37 Never initiate login or OAuth merely because a row is unknown; ask the user38 for explicit authority. An explicit reviewer `credentialProfileId` is39 strict and never falls back, while an omitted id uses the canonical account40 pool.413. Call `claudexor_capabilities` when the task depends on the current modes,42 mutability, controls, models, setup transport, or tool surface. The CLI43 `claudexor models --harness <id>` is default-route discovery, not44 a named profile's entitlement; `source: none` or an unavailable inventory45 is an honest refusal, not permission to guess. For a named profile, let the46 strict pinned run/reviewer preflight admit the model and verify observed47 profile/model telemetry afterward. A declared `setupLogin` transport of48 `external_terminal` means the host must provide the supported client49 terminal attach path; it is not itself unreadiness and must not be silently50 treated as `in_app`.514. Use `claudexor_ask` for read-only answers and bounded research, or52 `claudexor_plan` for a read-only implementation plan.535. Only for explicit implementation intent, use `claudexor_run`,54 `claudexor_best_of`, or `claudexor_create`. Pass an absolute `repoPath`55 whenever the target repository could be ambiguous.5657Run tools enqueue work and return a durable handle, not terminal output or58proof of completion. Use `claudexor_runs`, `claudexor_inspect`,59`claudexor_run_status`, and `claudexor_run_result` to recover and follow it.60Use `claudexor_run_interactions` to read pending questions and61`claudexor_answer_interaction` only with answers supplied or approved by the62user. Use `claudexor_run_cancel` only when cancellation is requested.6364Use `claudexor_apply_check` to dry-check delivery. MCP does not apply a patch.65Only when the user explicitly requests delivery and the server-owned66`applyEligibility.eligible` value is true may the host invoke the ordinary67Claudexor CLI apply path under its normal command permission.6869For an explicit reviewer panel, pass entries such as70`{"harness":"cursor","model":"cursor-grok-4.6-high","credentialProfileId":"review-cursor"}`.71The CLI equivalent is `--reviewer-panel-json '<array>'`; the legacy compact72`--reviewer-panel` form stays unpinned and should not be extended with an73escaping-sensitive profile syntax. After review, verify the observed profile74and route proof in the result artifacts.7576Use `claudexor_journal_recovery` for read-only journal inspection, validation,77or export. `claudexor_quarantine_journal` is destructive: invoke it only after78the user explicitly requests quarantine and provides the exact fingerprint and79confirmation required by its schema.8081## Safety8283- NEVER paste live credentials into prompts. Ask the user to use84 `claudexor auth login <harness>` or `claudexor secrets set` outside the85 conversation; do not collect or transform credentials.86- NEVER auto-answer `claudexor decision` for a blocked run. Risk acceptance and87 overrides are human decisions, even when the calling host otherwise permits88 mutation.89- Do not infer success, applyability, readiness, or completion from model90 prose. Use the typed status, result, and `applyEligibility` projections.91- Do not claim native vendor sessions move between credential profiles.