VS Code extension · Bring your own key

Your OpenRouter key. Routed to the right model, every time.

Rizo classifies every request as trivial, general, or coding, and sends it to a model sized for the job, so you're not paying Claude-Sonnet prices to say hi. No shared account, no markup: OpenRouter bills you directly for exactly what you use.

code --install-extension ChaitanyaAggarwal.rizo
Live routing: paid mode your message classifier trivial → openai/gpt-5-nano $0.05 / $0.40 per M tok general → google/gemini-2.5-flash $0.30 / $2.50 per M tok coding → anthropic/claude-sonnet-5 $2.00 / $10.00 per M tok · hard-pinned
How it routes

Three tiers, one hard rule for code

Every message is classified by keyword (word-boundary matched, so "capital" doesn't misfire on "api") into one of three tiers. Coding is hard-pinned to Claude Sonnet 5, no fallback, because that's the one place a cheaper model isn't worth the risk.

TierTriggerModelPrompt / Completion (per M tok)
Trivial short, low-effort messages openai/gpt-5-nano $0.05 / $0.40
General everyday questions, explanation, reasoning google/gemini-2.5-flash $0.30 / $2.50
Coding code, debugging, git, terminal, APIs anthropic/claude-sonnet-5 $2.00 / $10.00

Pricing is what OpenRouter charges for these models as of this writing. Check openrouter.ai/models for current rates.

Free / Paid

A real switch, not a lower limit

One pill above the composer, no restart, no separate account.

Paid Free

Paid: cost-optimized routing

The three-tier routing above. Small model for easy questions, mid-tier for general reasoning, Claude Sonnet 5 for coding. Billed by OpenRouter per token, at their published rate. Rizo adds nothing.

Free: always $0

Routes through a ranked chain of free-tier OpenRouter models instead, with automatic fallback to the next one in the list on any error, rate limit, or empty reply, plus a final backstop (openrouter/free) so something always answers. No credit required.

Safety

Nothing happens without your click

Every file write and every shell command stops for approval first. A malicious repo can prompt-inject the model into attempting a bad tool call, but it can't click "Approve" for it.

BYOK

Bring your own key

01

Sign up at openrouter.aiFree account, add credit or use the free-tier models with none.

02

Paste your key into Rizo, onceStored in your OS keychain via VS Code's own Secret Storage, never written to a file.

03

OpenRouter bills you directlyFor exactly what you use. Rizo has no server sitting in between and never sees a cent of it.

What this means in practice

  • No shared account, no per-seat pricing, no markup on top of OpenRouter's rate
  • Your key never leaves your machine except to call OpenRouter directly
  • Free mode needs no credit at all: a real way to try it with $0 at risk
  • Open source, Apache 2.0: the routing and safety logic above is exactly what's in the repo, not a claim to take on faith
Also

The rest of it

Named threads

Separate conversations, each with its own history. Auto-named from the first message, renameable any time.

Cost you can see

Running token count and estimated dollar cost shown live under the composer, for the whole chat, not buried in a dashboard.

Terminal & git, agentically

Runs commands in your workspace root with a 60s timeout and a capped output buffer: bounded, not a runaway loop.

Open source

Apache License 2.0. Fork it, read the routing logic, send a PR. Nothing about how it decides where your money goes is hidden.

Bring a key. See what it costs.