Skip to main content
kRouter
All posts
How kRouter works

Live model catalog: new models without a kRouter update

kRouter asks each provider what it serves right now, so a model launched today can be added from the dashboard without waiting for a kRouter release.

Kodelyth · The team behind kRouter
· Updated
4 min read

The worst part of most AI tools is the stale model dropdown. A provider ships a model on Tuesday, its API serves it the same day, and you wait for the app to release an update before you can pick it.

kRouter still ships a curated model list for each provider -- about 780 entries in total -- because the dashboard, model mapping and /v1/models start from it. What changed in July, across v0.5.84 to v0.5.90, is that for most API-key providers kRouter also asks the provider directly what it serves, and lets you add anything new from that answer. (Updated October 2026: an earlier version of this post said kRouter had stopped hardcoding model lists. It has not; the live catalog sits beside the built-in list.)

What changed

  • Paste a key, see its models (v0.5.86). When you add an API key, kRouter calls the provider's own models endpoint as soon as you stop typing and shows "Fetched N models from ..." -- or "Invalid API key", so the field doubles as a key check. Results are cached for 10 minutes against a hash of the key.
  • A live list on the provider page (v0.5.87 and v0.5.88). Each connected provider's page has a From API list: what the provider serves right now that you have not added yet, fetched with the credential you saved. It is cached for 10 minutes and has a Refresh button.
  • Your own endpoints too (v0.5.90). OpenAI- and Anthropic-compatible endpoints you configure yourself get the same live list.
  • A cached /v1/models (v0.5.84). The list your clients poll is cached for 30 seconds and carries an ETag, so a client that sends it back gets 304 Not Modified instead of a rebuilt list.

The live lookup covers more than 40 providers through one table of models endpoints -- OpenAI, OpenRouter, Groq, xAI, Mistral, DeepSeek, Kimi, GLM, MiniMax, OpenCode Go and others -- plus dedicated lookups for providers that need their own, such as Kiro and Qoder.

Adding a model the day it ships

Open the provider's page in the dashboard. A new model appears under From API as soon as the provider lists it. Click it to add it, or use Test All, which sends a test request to up to 50 listed models and adds the ones that answer. Once added, it is in /v1/models and you call it as provider/model-id, like any other model.

For a few providers /v1/models uses the live answer directly, with nothing to add: Kiro (whose list varies per account, with -thinking and -agentic variants), Qoder, Kimchi and ClinePass. A compatible endpoint you added without picking any models is listed straight from its own /models.

Query the catalog yourself

/v1/models is the standard OpenAI endpoint. From the machine kRouter runs on, you do not need a key:

# Chat models from your connected providers, plus your combos
curl http://localhost:20128/v1/models
 
# Other kinds: image, video, tts, stt, embedding, image-to-text, web
curl http://localhost:20128/v1/models/video

From another machine, add -H "Authorization: Bearer <key>" with a key from the dashboard's Endpoint page. Remote callers always need one.

The main list holds chat models only. Other capabilities have their own lists, so a video model such as xai/grok-imagine-video appears under /v1/models/video -- see routing Grok Imagine through kRouter -- and stays out of the list your editor reads. Every endpoint is in the API reference.

What a live list does not fix

A model can show up in a provider's list and still fail when you call it. Until v0.5.163, OpenCode Go's Grok, GPT Luna and Muse Spark models failed on every request: OpenCode serves them only on its Responses API, and kRouter sent them to /chat/completions. That release fixed the routing and added a per-model Protocol control on the OpenCode Go page, so the next time OpenCode moves a model you can follow it the same day. OpenCode Go's three protocols has the details.

The live list tells you what exists. Whether kRouter speaks the protocol a model needs is a separate question, and the one that occasionally still needs a release.

The redesigned provider page

Alongside the live catalog, v0.5.85 rebuilt the provider page around a single description of each provider -- its tier, sign-in methods, links and notices -- so the page fits what the provider is:

  • a header showing the tier: free, free tier, OAuth, API key or cookie
  • one connect card per sign-in method: "Connect for free", "Sign in with ...", "Paste your ... API key", "Configure endpoint" for compatible endpoints, and an advanced cookie card, with tabs when a provider supports more than one
  • the live model list described above

The site's providers page lists all 95+ of them.

Common questions

Do I need to update kRouter to use a newly released model?

Usually not. If the provider lists the model on its models endpoint, it appears under From API on the provider's page and you can add it there. A release is needed only when the model needs something kRouter does not do yet, such as a different API protocol.

Why is a model missing from /v1/models?

/v1/models lists kRouter's built-in models for each connected provider, minus any you removed, plus the models you added and your combos -- not everything the provider offers. Add the model from the provider's From API list. Image, video, speech and embedding models are on /v1/models/{kind}, not the main list.

How fresh is the list?

The provider-page list is cached for 10 minutes; the Refresh button fetches it again. /v1/models is cached for 30 seconds.

Get started

npm install -g @sifxprime/krouter
krouter -t

Connect an API-key provider on the dashboard and its live list fills in. Other install options are on the install page.

Kodelyth · The team behind kRouter

Published by Kodelyth, the team that builds kRouter. Posts are drafted with AI assistance and reviewed by a person before they go out. kRouter is free and MIT licensed.

Install kRouter