You ask for a change to your source code, and you get it — made on your Mac, by models that cost you no Claude tokens, and only after a machine has checked it.
Claude Opus plans the work and reviews what came back. Small models running locally (MLX, no network) do the narrow parts. Between them sits a gate a machine can run, and Claude never sees anything that did not survive it.
tsc is clean, and every test that
passed before still passes.One honest gate per workload is the unit of progress here. A workload a machine cannot check does not belong in this tool at any price.
Requires macOS on Apple silicon with at least 24 GB of installed RAM. Below that a 7B worker cannot sit beside a normal working set, and sidecrew refuses to start rather than quietly becoming a different tool.
npm install -g sidecrew
pip install mlx-lm
sidecrew doctor
doctor is the first thing to run and the first thing to read. It reports each capability separately
— and, below the capabilities, five pre-flight questions that are not “is it installed” but “will
it do the thing”. Each of those five was a real project that failed, or worse, one that quietly
succeeded.
For Claude Code:
claude mcp add --scope user sidecrew -- npx -y sidecrew mcp
Read the intervals, not the fractions. Every rate below is k/n with its exact 95 % interval,
and none of them is published as a point. The reason is measured: replaying a frontier model’s own
diffs through the gate a second time, the gate disagreed with itself on 2 of 19 candidates —
D = 0.105, interval [0.013, 0.331].
That number counts the gate refusing changes that were fine. Nothing in it is evidence of the gate admitting something bad. So the gate admits nothing that fails stands; the gate refuses only things that fail is measured false at roughly one evaluation in ten.
| input | survived, local 7B | survived, Haiku control | blind approval, 7B | blind approval, control |
|---|---|---|---|---|
| a Nest/jest codebase | 12/12 [0.735, 1.000] |
12/12 [0.735, 1.000] |
9/10 [0.555, 0.997] |
10/10 [0.692, 1.000] |
| a React/jest codebase | 11/12 [0.615, 0.998] |
12/12 [0.735, 1.000] |
9/10 [0.555, 0.997] |
10/10 [0.692, 1.000] |
At these sample sizes 12/12 and 11/12 are not distinguishable, and neither is the local model
from the network control. Both projects passed the frozen decision rule by a margin of exactly zero.
Asking a frontier model directly, one task at a time, no plan and no gate. Same 19 hand-written tasks, same two codebases.
| Opus alone | Sonnet alone | sidecrew | |
|---|---|---|---|
| tokens, 19 tasks, Nest | 80,131 | 88,820 | 0 |
| tokens, 19 tasks, React | 95,335 | 88,680 | 0 |
| output vs Opus, Nest | — | identical 19/19 | identical on 18 of 19 |
| delivered and verified, Nest | 19, unverified | 19, unverified | 19/19 [0.824, 1.000] |
| delivered and verified, React | 19, unverified | 19, unverified | 15/19 [0.544, 0.939] |
The workers are free. The coordination is not, and this is the number that says by how much — Opus planning, measured on an unmodified commercial Nest codebase:
| plan size | Opus tokens to plan | per task | vs. paying a model per task |
|---|---|---|---|
| 12 tasks (20 Sep, Opus 5) | 265,607 | 22,134 | 2.84× |
| 41 tasks (20 Sep, Opus 5) | 343,144 | 8,369 | 1.07× |
| 11 tasks, with retrieval tools (25 Sep, Opus 5.5) | 177,203 | 16,109 | 2.07× |
| 36 tasks, with retrieval tools (25 Sep, Opus 5.5) | 225,691 | 6,269 | 0.80× |
Planning cost barely moves with the size of the job: it is a large fixed cost per job plus a small per-task one. So sidecrew’s coordination is not worth paying for on a dozen tasks, and the economics move sharply in its favour as the job gets bigger. Giving the planner compiler-backed tools to read with cut it ~23 % — not enough at 12 tasks, by the rule frozen before it was measured. In dollars, most of a planner’s bill is re-reading its own growing context (cache reads, 33–67 %), not thinking: about $2.4–3.3 for a ~12-task job and $2.7–3.5 for a ~40-task one on Opus 5.5 (measured, 25 Sep).
And it costs wall clock: ~25 s per task interactively with Opus, 216–271 s with sidecrew. It is free and unattended, not fast.
The claim it is working towards: “we do what Claude Opus does, in a different and cheaper way” — and any user can get that result on their own code. 1.0 means sidecrew’s success is at least 80–90 % of Opus-alone’s on a benchmark of real requests, features and bug fixes included, for at most half its dollars on batch jobs — stated as a formula with its error margin, never a single number. 2.0 is as fast as Opus; 3.0 as good or better. Until then each 0.x release adds a category of work, claimed only once measured. The full roadmap and today’s scorecard are in the README and the roadmap.
Claude (Opus) sidecrew local worker (mlx_lm.server)
reads the module ──► plan + one exemplar per shape
per task ──► prompt = source + exemplar ──► candidate
gate: confined? · tsc clean? · every test that passed still passes?
survive? ── yes ──► Claude reviews the weakest survivors
── no ──► retry once with the error ──► escalate
src/schemas.ts, not a convention: a verdict that
claims a survival its own fields do not support does not serialise.Everything here was measured against a rule written before the number existed, and the rules and the raw results are in the repository:
| Decisions | every architectural decision, with the evidence and the options rejected |
| Vision | what this is for, in the owner’s words |
| Phases | where it is, what each step buys, and the exit rule frozen before each one runs |
| Roadmap | the capability ladder to 1.0, and what 1.0, 2.0 and 3.0 mean |
| What stands between it and 1.0 | the challenges, stated for an independent reviewer — and the review |
| The pipeline contracts | the JSON between planner, workers, verifier, reviewer |
| Research | why the design looks like this — including why a worker cannot be a subagent |
| Changelog |
The experiments themselves — the frozen rules, the funnels, the defects each measurement cost — are
under experiments/ in the repository. The projects they ran against are a client’s and are named
only as project-a and project-b; the rates, funnels and costs are ours and are all here.
MIT. Worker models and tools have their own licences, and only Apache-2.0 / MIT ones are shipped or
downloaded by default — research/licences.md is the audit, read off the installed artefact rather
than off a website.