unbiased ai

Kimi Code CLI, with Pareto at the other end

Kimi Code CLI takes more than one provider. Add Unbiased to ~/.kimi-code/config.toml as an openai provider, declare unbiased/pareto as a model and make it the default. For each request, Pareto selects frontier and open models and blends their outputs into one answer.

Tested live with Kimi Code CLI 2.2.050M tokens a week

A demonstration of Kimi Code CLI on Pareto, recreated from a real run. Not a screenshot.

Three tables in config.toml

Kimi Code CLI keeps providers and models in ~/.kimi-code/config.toml, or $KIMI_CODE_HOME/config.toml if you have moved its home. It reads keys only from that file, so the provider entry tells it where to find yours.

  1. Get an Unbiased API key

    Choose a plan, then create a key in the Unbiased platform. New accounts are reviewed and approved by a person before the key works.

  2. Add Unbiased as a provider

    Add a [providers."unbiased"] table with type = "openai" and base_url = "https://api.unbiased.ai/v1", including the /v1. Set api_key_env = "UNBIASED_API_KEY" to keep the key out of the file, or api_key to store it there. Use one or the other, not both.

  3. Declare the model by hand

    Unbiased does not publish a model list for Kimi to fetch, so write [models."unbiased/pareto"] yourself with model = "pareto". Kimi requires max_context_size; Pareto takes about a million tokens. Quote the key, since it contains a slash.

  4. Make it the default and start

    Set default_model = "unbiased/pareto", export your key and run kimi. Run kimi doctor first if you want the file checked. For one task without the TUI, use kimi -p "…".

Tested on October 20, 2026Kimi Code CLI 2.2.0 on Pareto (pareto). It found the off-by-one in a failing Python test, edited the file and reran the test to green. Run record.
~/.kimi-code/config.toml
default_model = "unbiased/pareto"

[providers."unbiased"]
type = "openai"
base_url = "https://api.unbiased.ai/v1"
api_key_env = "UNBIASED_API_KEY"

[models."unbiased/pareto"]
provider = "unbiased"
model = "pareto"
max_context_size = 1000000
display_name = "Pareto"
Shell
export UNBIASED_API_KEY=your-unbiased-api-key
kimi
# Or one task, no TUI:
kimi -p "Fix the failing test in test_chunk.py"

Still on the older Python kimi-cli? Its config lives in ~/.kimi/config.toml and uses different provider types. Install Kimi Code CLI and run kimi migrate to bring your settings across, then add the tables above to the new file.

Kimi Code CLI stays. The model changes.

Kimi gains a provider and a model alias. The agent you know is the same one.

One model string, several models behind it

Pareto is Unbiased’s blended AI model. On each request it selects frontier and open models and blends their outputs into one answer, so Kimi Code CLI talks to one model string, pareto, and never has to pick.

“When the frontier improves, Pareto improves; when frontier prices fall, you should benefit.” From the pricing page.

How a Pareto answer gets made →
An illustration, not a wiring diagram. The blend includes frontier and open models, and its composition can change.

What an agent task costs on Pareto

Agents make many model calls per task, so the price of a finished task matters more than the price of a token. The model card publishes both for Pareto on two public agent benchmarks.

Terminal-Bench 4.0Tasks an agent completes in a terminal
$0.48/task
50.8% solved
DeepSWE v1.1Changes an agent makes in a real codebase
$0.24/task
69.9% solved

Pareto 26.10, preliminary October 1, 2026 runs that may change; denominators and the cost method still require confirmation. Cost is the reported mean USD per task at API rates, not an estimate for your workload. Model card and method.

Pay for Kimi Code CLI by the month

One API key works across Kimi Code CLI and any other tool you point at Pareto. Pick a monthly allowance, or pay per token on Team.

Personal

$10/month

  • 50M tokens a week
  • 20 requests per minute
  • For one person
Choose Personal

Personal Max

$100/month

  • 600M tokens a week
  • 60 requests per minute
  • For one person
Choose Personal Max

Team

Pay as you go

  • Prepaid credits at published rates
  • 300 requests per minute
  • No weekly token cap
Get started with Team

Subscriptions are for one person and are not unlimited. New API accounts are reviewed by a person before access turns on, and commercial or production use needs a separate written agreement. Rates and limits are on Pricing.

Kimi Code CLI on Pareto, questions answered

Does Kimi Code CLI work with a model that isn’t Kimi?

Yes. Its openai provider type speaks the OpenAI Chat Completions format, and Unbiased serves it. We ran Kimi Code CLI 2.2.0 against Pareto on October 20, 2026: it read a failing Python test, edited the file and reran the test to green. Format compatibility is not a promise that every feature works, so tell us if one doesn’t.

Which provider type should I choose?

openai, with the /v1 on the end of the base URL. That is the one we tested. Kimi also has openai_responses and anthropic types, and Unbiased serves both formats, but we have not run Kimi through them.

Why doesn’t Kimi pick up my key from the environment?

Kimi Code CLI does not read shell variables on its own. It reads only what config.toml tells it to, which is why the provider entry names the variable with api_key_env. If the variable is unset or empty, the request fails with an error that names it.

Does web search still work?

Not through Pareto. Kimi’s web search is a separate Moonshot service, set up under [services.moonshot_search] in the same file. Reading, editing and running commands all go through the model, and those are what we tested.

Can I switch back to a Kimi model?

Yes. Type /model in the TUI and pick another model, start with kimi -m and a different alias, or change default_model. Adding a provider does not remove your Kimi Code login.

Is Pareto made by the Kimi Code CLI team?

No. Pareto is Unbiased’s model. Kimi Code CLI is made by Moonshot AI, and Unbiased is not affiliated with or endorsed by them. You keep Kimi Code CLI and point it at the Unbiased API.

What happens when I hit the weekly allowance?

Requests over your plan’s limits return an HTTP 429 error. Personal includes 50M tokens a week and 20 requests per minute. Personal Max raises that to 600M a week and 60 requests per minute for $100/month. Team uses prepaid pay-as-you-go credits with no weekly token cap.

Do I choose between models?

No. You send every request to one model string, pareto. Pareto selects frontier and open models for each request and blends their outputs into one answer.

Is my code kept?

Personal and Personal Max are not our zero data retention tier: prompts and responses may be kept up to 30 days, as section 5(c) of the Terms explains. For work that must not be kept, ask about the Zero Data Retention API on the Private AI page.

Pareto works in other tools too

The same key and the same model string go into each of these. See them all.

Product names belong to their owners. Except where a guide says otherwise, Unbiased is not affiliated with or endorsed by the makers of the tools on this page.

Hand Kimi the bug that keeps coming back

Three tables in config.toml, one key and the same kimi prompt. Pareto starts at $10 a month for 50M tokens a week.