modelharness
Make every model cheaper or better. Measured on four Claude models โ none got worse.

What it actually is: a zero-config Claude Code plugin. On every session start it injects a โ910-token behavioral core โ six working practices distilled from how Fable 5 was trained to operate โ plus three on-demand skills and a fresh-context verifier agent. No commands to learn; the model just starts working differently:
| |
|---|
| โ
Grounded progress โ only claims backed by a tool result; "tests fail" said plainly | โก Act, don't overplan โ enough information means act, not narrate options |
| ๐ฏ Autonomy calibration โ decides minor things itself, asks only on scope or destructive actions | ๐ Self-verification loops โ a checkable definition of done, real checks on a cadence, a fresh-context verifier before "done" |
| ๐ Delegation triggers โ explicit rules for when to fan work out to subagents | ๐ Cross-session memory โ writes lessons and plans to files, so the next session can pick up the work |
What the 17 tasks test
| | |
|---|
| ๐ Bug hunts 4 tasks ยท 96 runsFind and fix planted defects: TTL cache, CSV quoting, rate limiter, date rollover | โจ Features from spec 4 tasks ยท 96 runsBuild to a written spec: retry backoff, config merging, cursor pagination, slugify | โป๏ธ Refactors 2 tasks ยท 48 runsRestructure code with zero behavior change, verified structurally |
| ๐ง Long-horizon builds 2 tasks ยท 48 runsMulti-stage pipelines where later steps depend on earlier decisions | ๐งฉ Spec-dense traps 3 tasks ยท 72 runs18+ interacting rules (discount engine, mini-interpreter) that punish shallow reading | ๐ Session handoffs 2 tasks ยท 48 runsA fresh session must finish another session's work โ memory is the only bridge |
17 tasks ร 3 attempts ร 8 configurations = 408 runs. Grading is hidden and binary: test suites the agent never sees decide pass/fail. No LLM judge. Every task ships with a reference solution proving it solvable.
The results
The numbers, exactly
Same 17 tasks, 3 runs per configuration. Higher pass rate and lower cost/time are better. ๐ข = better with modelharness, ๐ด = worse (explained in the last row).
The bottom line. modelharness packages the same working practices Fable 5 was trained on. The practices land hardest on Opus 4.8 โ the flagship model available on every subscription โ at โ14% cost / โ16% time, and that win is statistically significant (see below). Even Fable 5, competing against itself, runs significantly faster. On smaller models the average hides a trade: Haiku saves up to 19% on routine bugfixes but spends more on spec-dense tasks โ extra verification work that is exactly what lifted its pass rate from 98% to 100%. Cheaper where it can be, more careful where it must be โ and never significantly worse on any model.
How confident are we?
Averages can hide noise, so we ran the honest test: pair each model's plain vs +modelharness runs on the same task (3 reps averaged), take the per-task percentage delta, and put a 95% confidence interval around the mean across all 17 tasks. A CI that clears zero is a real effect; one that straddles zero is within run-to-run noise. Regenerate with python3 bench/stats.py.
| Model | Cost ฮ (95% CI) | Time ฮ (95% CI) | Tasks cheaper |
|---|
| Opus 4.8 | โ12.0% [โ17.3, โ6.7] ยท significant | โ16.5% [โ25.3, โ7.7] ยท significant | 15 / 17 |
| Fable 5 | โ3.2% [โ10.6, +4.2] ยท within noise | โ11.4% [โ20.1, โ2.8] ยท significant | 8 / 17 |
| Sonnet 4.6 | โ4.0% [โ11.3, +3.3] ยท within noise | โ7.8% [โ15.7, +0.0] ยท within noise | 10 / 17 |
| Haiku 4.5 | +0.3% [โ8.7, +9.3] ยท within noise | โ4.5% [โ17.6, +8.6] ยท within noise | 9 / 17 |
What this means, stated plainly: the harness delivers a statistically significant cost-and-time reduction on Opus 4.8 โ the model most people run on a subscription โ and a significant speed-up on Fable 5. For Sonnet 4.6 and Haiku 4.5 the cost and time changes are within noise: not a reliable saving, but never a reliable loss either. Quality is not a sampled average โ it is an exact binary count: 407 of 408 runs passed, and the one failure (bare Haiku 4.5 on a session-handoff task) is fixed 3/3 by the harness. So the defensible claim is narrow and true: Opus gets meaningfully cheaper and faster, every model gets a memory-driven reliability floor, and none is significantly worse.
โก Install โ 30 seconds, zero config
/plugin marketplace add vitaliikapliuk/modelharness
/plugin install modelharness@modelharness
Restart Claude Code โ active in every session, on whatever model you run.
Why this exists
Claude Fable 5 left subscription plans on June 23, 2026 โ the most capable model became API-only, and most subscribers went back to Opus, Sonnet, or Haiku. That raised a question worth measuring rather than debating: how much of a frontier model's edge is weights, and how much is working practices โ the documented behaviors like grounded progress reporting, self-verification, and file-based memory that Anthropic describes in its own migration guides?
So we distilled those practices into a plugin and built a benchmark to find out. The answer surprised us in both directions: on self-contained coding tasks the practices made every model cheaper or better โ including Fable 5 itself โ while raw correctness at benchmark scale turned out not to separate the models at all. The harness, not the weights, was the measurable difference.
How it works
A SessionStart hook injects a behavioral core (โ910 tokens โ your entire context tax, measured, not estimated) implementing six patterns from Anthropic's official Fable 5 migration guide:
| Pattern | Source |
|---|
| Grounded progress claims | Fable 5 migration guide โ "Ground progress claims on long runs" |
| Act, don't overplan | Fable 5 migration guide โ "Longer turns by default" |
| Autonomy calibration | Opus 4.8 notes โ "More deliberate โ asks more often" |
| Self-verification loops | Fable 5 guide โ "Make self-verification explicit" |
| Delegation triggers | Opus 4.8 notes โ "Under-utilization of subagents" |
| Memory surface | Fable 5 guide โ "Give it a memory surface" |