Install
codeArbiter ships four sibling plugins from one marketplace: three governance hosts — ca (Claude
Code), ca-codex (Codex), and ca-pi (Pi) — plus ca-sandbox, an infrastructure plugin unrelated to
gate enforcement (see ca-sandbox). This page covers Claude Code and Codex
install; Pi has its own dedicated walkthrough at Install for Pi (a different
distribution model — Git-only, no npm release). All three governance hosts enforce the same
.codearbiter/ project store. The
Claude Code + Codex evidence defines the verified boundary,
and Compatibility has the full host-differences matrix.
Prerequisites
Section titled “Prerequisites”Confirm both before installing:
-
Python 3 on
PATH: every enforcement hook is pure Python. Without it, the gates and the session-startup injection silently do not run. Verify with:Terminal window python3 --version || python --versionEither succeeding is enough — hooks are registered under both names, falling back to whichever resolves.
-
git config user.emailset: overrides and ADRs are attributed to this identity. Verify with:Terminal window git config user.emailIf that prints nothing, set one with
git config --global user.email "you@example.com"(or--localfor just this repo) before installing.
1. Install for Your Host
Section titled “1. Install for Your Host”Claude Code
Section titled “Claude Code”codeArbiter self-hosts a multi-plugin marketplace from its GitHub repo. In any Claude Code session, run both commands:
/plugin marketplace add arbiterForge/codeArbiter/plugin install ca@codearbiterClaude Code’s own plugin trust flow governs whether the hooks fire at all — the standard prompt you
see when installing any plugin that registers hooks. Approve it once at install time (no separate
per-hook approval step, unlike Codex’s /hooks review) and hooks, commands, and agents load
automatically from then on. All commands resolve under the /ca: namespace.
Verify the install succeeded before moving on. Run /plugin list (or /plugin) and confirm ca
appears as installed from the codearbiter marketplace; then verify enforcement itself with
/ca:doctor once the target repository is opted in (step 2 below).
The public commands are available now and were verified against release v2.8.13 with
ca-codex 0.2.4:
codex plugin marketplace add arbiterForge/codeArbitercodex plugin add ca-codex@codearbiterTo develop against an unpublished checkout, clone this repository, run
codex plugin marketplace add . from its root, then run
codex plugin add ca-codex@codearbiter. Open /hooks, trust the handlers, and start a fresh thread.
Verify an opted-in repository with $ca-doctor.
Pi is a third governance host, ca-pi, distributed Git-only (no npm release) with its own version
line and prerequisites. The complete adapter is a Feature Forge preview: it is available and
welcomed for real use, with broader testing still required before stable status or a claim of 100%
validation. It is not covered here; see Install for Pi for the full flow,
including pi install git:github.com/arbiterForge/codeArbiter@ca-pi-v<version> and the project-trust
step Pi requires before it activates.
2. Scaffold and Activate the Repo
Section titled “2. Scaffold and Activate the Repo”Installing a plugin enforces nothing. In the target repository, run /ca:init in Claude Code or
$ca-init in Codex:
/ca:init$ca-initThe init command scaffolds .codearbiter/ at the repo root, routes to the right context populator,
and writes the arbiter: enabled activation flag. Neither host needs the other plugin installed to
use existing project state. See Opt a Repository In for the full walkthrough.
Once the flag is present, the next session opens with the orchestrator active.
The Enforcement & Security page covers which gates are blocking versus advisory and how the fail-loud posture works.
Updating codeArbiter
Section titled “Updating codeArbiter”claude plugin update (and its Codex equivalent) can no-op on an unchanged marketplace version
string, leaving a stale cached payload behind even when you expect a new one. The clean path is
uninstall, then reinstall:
claude plugin uninstall ca/plugin marketplace add arbiterForge/codeArbiter/plugin install ca@codearbiter(Substitute codex plugin remove ca-codex@codearbiter / codex plugin add ca-codex@codearbiter for
Codex.) .codearbiter/ in every repository is untouched by either uninstall or reinstall — only the
plugin payload moves. /ca:doctor reports the currently cached version so you can confirm the update
actually landed; see its remediation ladder if it still looks stale.
Pi updates differently — see Uninstall, Upgrade, and Version Pinning.