route
Feature and test work goes to the cheaper model by itself.
The moment
You type: implement pagination for the users endpoint.
Without route
Claude reads the code and builds the feature itself, step by step. A hand-off would have been cheaper, but only you can ask for one, and you would have to remember every time.
With route
route asks a small, fast classifier what kind of work each prompt is. Only feature or test work gets the order, in your name, to hand it to delegate’s worker before reading the code. A question, a rename or a typo fix stays with Claude, as before.
Pick a prompt and see what route does with it. The labels and scores are the ones the classifier gave in our test.
You typeimplement pagination for the /users endpoint
The order goes beside your prompt: hand it to delegate’s worker before reading the code.
The order, word for word
This prompt is feature work, and the person's setting for feature work is: implement it through the hand_off tool (kind build). Hand it off before you read the code: the worker reads it, so write the task from the request as given. Write the request into the task so it stands alone, with the project's whole test suite as the check. The tool checks the worker's work itself; when its result says Verified and the diff is what was asked, report to the person without running anything again.
You typeadd unit tests covering the error paths in auth.py
The order goes beside your prompt: hand it to delegate’s worker before reading the code.
The order, word for word
This prompt is test work, and the person's setting for test work is: implement it through the hand_off tool (kind build). Hand it off before you read the code: the worker reads it, so write the task from the request as given. Write the request into the task so it stands alone, with the project's whole test suite as the check. The tool checks the worker's work itself; when its result says Verified and the diff is what was asked, report to the person without running anything again.
You typewrite tests for the parser module
Under 40 characters, so route sends nothing. Claude does the work as before.
You typeIn this repository (click), explain how an option's value is resolved when it is not given on the command line: which methods run, in which order, with file:line for each, and where the environment variable and the context's default_map come in. Keep it to a short ordered list.
Not feature or test work, so no order. Claude does it as before.
You typerename UserService to AccountService everywhere
Not feature or test work, so no order. Claude does it as before.
You typechange the default timeout from 30 to 60 seconds
Not feature or test work, so no order. Claude does it as before.
What we measured
On click’s eight jobs it made the whole set 14% cheaper14.2% cheaper, 95% range 10.1 to 17.9% cheaper14.2% cheaper
95% range 10.1 to 17.9% cheaper
32 runs, 4 per task
Opus 5.5, classifier ScaleDown, 15 Oct 2026 than the pack alone. On a TypeScript feature, 51% cheaper51% cheaper51% cheaper
No range in the source
4 per task and condition
Opus 5.5, worker Sonnet 5.5, 15 Oct 2026, with Claude taking two steps of its own instead of eleven11.0 to 2.011.0 to 2.0
4 per task and condition
Opus 5.5, worker Sonnet 5.5, 15 Oct 2026. Both classifiers labelled all 5050 of 5050 of 50
50 calls each
TypeSafe Jev and ScaleDown Classify, 15 Oct 2026 of their test calls right.
Every measurement for route
The dot is the measured change, the bar around it the 95% range, the upright line no change. Left of the line is cheaper or fewer.
- route 0.1 on click's eight jobsthe pack with route against the pack; worker costs corrected 16 Oct14.2% cheaper95% range 10.1 to 17.9% cheaper32 runs, 4 per task. Opus 5.5, classifier ScaleDown, 15 Oct 2026
- route 0.1 with the pack, against plain Claude Codethe pack with route against plain Claude Code; worker costs corrected 16 Oct19.1% cheaper95% range 15.3 to 22.5% cheaper32 runs, 4 per task. Opus 5.5, classifier ScaleDown, 15 Oct 2026
- route 0.1 on the two tasks it routed (feature and tests)the pack with route against the pack; worker costs corrected 16 Oct33.8% cheaper95% range 27.4 to 39.4% cheaper4 per task. Opus 5.5, classifier ScaleDown, 15 Oct 2026
- route 0.1 on the six tasks it left alonethe pack with route against the pack4.3% more expensive95% range from 0.1% cheaper to 9.0% more expensive4 per task. Opus 5.5, classifier ScaleDown, 15 Oct 2026
- Routing decisions on click: the order on feature and test prompts onlyorders given on feature/test prompts; wrong orders on the others8 of 8, 0 of 2432 runs. classifier ScaleDown, 15 Oct 2026
- Verified hand-off and handing off before reading, against route as releasedroute 0.3 (verified, direct) against route 0.1; worker costs corrected 16 Oct28% cheaper95% range 10 to 42% cheaper4 per task and condition. Opus 5.5, 15 Oct 2026
- Claude's own requests with the verified, direct hand-offroute 0.3 (verified, direct) against route 0.155% fewer steps95% range 36 to 68% fewer steps4 per task and condition. Opus 5.5, 15 Oct 2026
- A TypeScript feature routed to a Sonnet workerroute (Sonnet worker) against the pack alone, same batch; worker costs corrected 16 Oct51% cheaper4 per task and condition. Opus 5.5, worker Sonnet 5.5, 15 Oct 2026
- The same TypeScript feature: timeroute (Sonnet worker) against the pack alone, same batch42% less time4 per task and condition. Opus 5.5, worker Sonnet 5.5, 15 Oct 2026
- The same TypeScript feature: Claude's own requeststhe pack alone to route (Sonnet worker)11.0 to 2.04 per task and condition. Opus 5.5, worker Sonnet 5.5, 15 Oct 2026
- Writing TypeScript tests, routed to a Sonnet workerroute (Sonnet worker) against the pack alone, same batch; worker costs corrected 16 Oct36% cheaper4 per task and condition. Opus 5.5, worker Sonnet 5.5, 15 Oct 2026
- Writing TypeScript tests, routed to a Haiku workerroute (Haiku worker) against the pack alone, same batch; worker costs corrected 16 Oct46% cheaper4 per task and condition. Opus 5.5, worker Haiku 5.5, 15 Oct 2026
- The order to hand off before reading the code: followedhand-offs, of runs with the order24 of 2424 runs. Opus 5.5, 15 Oct 2026
- Allowed to look around first, Claude kept the workruns where Claude kept the work, of runs with the order5 of 1616 runs. Opus 5.5, 15 Oct 2026
- Both classifiers on 25 prompts, two roundsright labels, of calls (each classifier)50 of 5050 calls each. TypeSafe Jev and ScaleDown Classify, 15 Oct 2026
- A long TypeScript feature spec: ScaleDown under the threshold, Jev certainScaleDown's score against Jev's, on the same prompt (threshold 0.7)0.66 against 1.0TypeSafe Jev and ScaleDown Classify, 15 Oct 2026
Where it doesn’t help
It is off until you turn it on, because the start of each prompt goes to an outside classifier in the US. Prompts under 40 characters are never sent, so a short “write tests for the parser” stays with Claude. And every prompt in our tests was a complete specification; on a vague request, a task written before reading the code may be a worse task. We haven’t tested that.
Turn it on or off
Turn it on with /mods route on and a key for TypeSafe’s Jev or ScaleDown. It needs delegate. Every option is in the README; the code is in route/.