Weave Router 2.0: Astra quality at half the cost
Weave Router reads every request your coding agent makes, scores how hard it is, and sends it to the most cost-effective model that will get it right.
Today we are releasing Weave Router 2.0. It has a new classifier trained on ten times more data, cache-aware switching so routing down never costs you more than staying put, an escalation path back to a frontier model when a task turns out harder than it looked, and support for routing across multiple provider subscriptions.
The result: on two agentic coding benchmarks, Weave Router matches GPT-6 Astra on quality, at about half the cost, and finishes tasks more than twice as fast.
Benchmarks
Same Codex harness. Same tasks. Two attempts per task. Router and Astra runs are paired: same day, same package. We report the share of tasks solved on at least one attempt, cost per trial, and mean agent time per trial.
Terminal-Bench 4.0
One task apart on 66. A tie. The router did it at 52% of Astra's cost and 2.2x faster.
SWE-Atlas Codebase QnA
Astra edges the router by four points here, five tasks out of 124, inside the confidence interval. Both solved the same 61 tasks on both attempts. Astra picked up more one-off solves. The router did it at 46% of Astra's cost and 2.5x faster.
How to read these
- Tasks solved is pass@2: a task counts if either of its two attempts passed. Both arms are scored from the same trials.
- 95% Wilson intervals for the router and Astra overlap on both benchmarks (Terminal-Bench 50–73 vs. 49–72, SWE-Atlas 53–70 vs. 57–74). Astra ran at max reasoning, OpenRouter Auto Beta at xhigh.
- Router vs Astra is paired. OpenRouter is a separate run within three days on the same tasks and graders, so read those deltas as context, not paired wins.
- k=2 is not a leaderboard submission. Terminal-Bench requires k≥5.
- Router cost is router-billed at catalog rates. Direct models use vendor list price. OpenRouter is OpenRouter-billed.
What makes Weave Router 2.0 better
1. A classifier trained on 10x the data
The complexity classifier is trained on ten times the volume of real agentic coding sessions used for 1.0. More sessions means better coverage of the long tail: monorepo refactors, flaky test triage, infra-as-code changes, and the short follow-up turns that dominate a real session.
The classifier still runs in single-digit milliseconds and adds no visible latency to the request.
2. Cache-aware routing
In 1.0, switching models mid-session could evict a warm prompt cache and re-bill the full context at uncached rates. 2.0 tracks cache state per provider and per session. It only moves a request to a different model when the expected savings beat the cost of rebuilding the cache.
The result is fewer surprise spikes on long sessions and a lower effective per-token rate on the frontier calls you do make.
3. Escalation
Routing down is only safe if you can route back up. 2.0 adds an escalation classifier that watches a task as it runs. If a cheaper model is stalling, looping, or missing the point, Weave Router bumps the task to a frontier model. You never get stuck on a model that cannot finish the job.
4. Use your Claude Code subscription in Codex (and vice versa)
Weave Router 2.0 can hold more than one provider subscription at once and route across them. Use Claude models inside Codex. Use GPT models inside Claude Code. Route by complexity, by cost, or by which subscription has quota left this month.
Your tools stay the same. Router sits in front of them as a drop-in endpoint.
Weave Router 2.0 vs. other routers
Most routers answer one question: which model should take this request? Weave Router 2.0 answers four. How hard is this turn? Will switching cost more in cache than it saves? Is the cheap model actually finishing the job? Which of your subscriptions has quota left?
That is the difference between a gateway and a router built for coding agents. A gateway picks by price, rules, or provider health. It has no signal about whether the cheap model can do the work. Weave Router scores the task first and only routes down when the cheaper arm holds up for that kind of work.
Each of these is good at something. The table says what, and where it stops short for a coding agent.
Scroll horizontally if needed →
| Built for | How it picks a model | Where it stops for coding agents | |
|---|---|---|---|
| Weave Router 2.0 | Coding agents: Claude Code, Codex, Cursor | Scores each turn's complexity, learned from task outcomes; pins sessions, escalates, routes across subscriptions | Coding workloads only. Not a general API gateway. |
| OpenRouter Auto | One endpoint to the broadest model catalog | Learned meta-router per request | Per request. No session or cache state, no escalation. |
| Cursor Router | Cursor users who want native controls | Cost, quality, and speed tradeoff per request | Cursor only. Cache handling not documented. |
| Ramp Router | A lightweight routing layer over many models | Model-agnostic per-request selection | Per request. Cache handling not documented. |
| LiteLLM Router | Platform teams that want a self-hosted gateway | Load balancing, retries, and fallbacks across 100+ providers | Reliability routing, not quality routing. Does not score the task. |
| RouteLLM | Researchers building custom routers | Preference-trained strong vs. weak selector | Two-model pairs. Library, not a drop-in for agents. |
| Not Diamond | Managed learned routing via API | Learned meta-router per request | Per request. Cache handling not documented. |
| Portkey | Enterprise gateway controls: guardrails, budgets, logs | Conditional rules on request metadata | Rules you write. Does not predict whether the model can finish. |
| Microsoft Foundry Model Router | Teams committed to Azure | Learned selection across Azure-hosted models | Azure catalog only. Per request. |
| Bedrock Intelligent Prompt Routing | Teams committed to AWS | Learned selection across Bedrock models | Bedrock catalog only. Per request. |
The pattern in the last column is the same one three different ways.
Per turn, not per request. A coding agent session is a hundred requests that share one context. Routing each one fresh ignores the cache you have already paid for. Weave Router pins the session and only switches when the math says to.
Route back up. A per-request router makes one decision and lives with it. If the cheap model stalls, you find out when the task fails. Weave Router watches the task as it runs and escalates before that happens.
Your subscriptions, not just your API keys. Gateways route across API keys you pay for by the token. Weave Router also routes across the flat-rate seats you already own, and drains those first.
If you need a general-purpose gateway for a product backend, several of the tools above are the right pick. If you need to cut what your coding agents spend without slowing them down, that is what Weave Router is for. For a deeper look at each product, see our guide to LLM routers and model routing tools.
Get Astra intelligence at half the cost
Weave Router 2.0 is available today. Two ways to start.
Set it up yourself in a few minutes. One command detects Claude Code, Codex, and Cursor and configures each. Add the provider keys or subscriptions you want to route across and your next session is routed.
npx @workweave/router
# detects Claude Code, Codex, Cursor and configures each
# add providers: router providers add anthropic openai
Pricing for solo developers and startups is 5% of routed costs. The router is source-available under the Elastic License 2.0, so you can self-host it, or use the hosted version at weaveos.com/router.
Or talk to an FDE. If you run a team of 50 or more engineers, one of our forward-deployed engineers will look at your actual agent traffic, show you what the router would have saved last month, and set it up across your org with you.