unbiased ai

avante.nvim, with Pareto in the sidebar

You moved to Neovim to stop leaving the keyboard, and avante.nvim lets you ask about code without leaving it either. Give it one more entry in providers and the sidebar talks to Pareto, which selects frontier and open models for each request and blends their outputs into one answer. The diffs, the keymaps and the rest of your init.lua stay where they were.

Settings from avante.nvim’s docs50M tokens a week

An illustration of avante.nvim on Pareto. Not a screenshot.

Set it up with one provider entry

avante.nvim reads providers from the opts table you pass to require("avante").setup. Any entry with __inherited_from = "openai" can point at its own endpoint, model and key, which is how the plugin’s own presets for other services are built.

  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. Export the key

    Set AVANTE_UNBIASED_API_KEY in your shell. avante checks this name first, then falls back to UNBIASED_API_KEY.

  3. Add an unbiased provider

    In your avante opts, add a provider that inherits from openai, with endpoint set to https://api.unbiased.ai/v1, model set to pareto and api_key_name set to UNBIASED_API_KEY. Keep the /v1: avante adds /chat/completions after it.

  4. Make it the provider

    Set provider = "unbiased", restart Neovim and open the sidebar with <leader>aa or :AvanteAsk. You can also run :AvanteSwitchProvider and pick unbiased (add --save to keep the choice).

Settings follow avante.nvim’s own documentation: avante.nvim README: Configuration and providers.

Shell
export AVANTE_UNBIASED_API_KEY=your-unbiased-api-key
lazy.nvim spec
{
  "yetone/avante.nvim",
  event = "VeryLazy",
  version = false,
  build = "make",
  opts = {
    provider = "unbiased",
    providers = {
      unbiased = {
        __inherited_from = "openai",
        endpoint = "https://api.unbiased.ai/v1",
        model = "pareto",
        api_key_name = "UNBIASED_API_KEY",
        timeout = 30000,
        extra_request_body = {
          max_completion_tokens = 32768,
        },
      },
    },
  },
  dependencies = {
    "nvim-lua/plenary.nvim",
    "MunifTanjim/nui.nvim",
    {
      "ColinKennedy/mega.cmdparse",
      dependencies = { "ColinKennedy/mega.logging" },
    },
  },
}
Or the Anthropic format
-- inside providers = { ... }
unbiased_claude = {
  __inherited_from = "claude",
  endpoint = "https://api.unbiased.ai",
  model = "pareto",
  api_key_name = "UNBIASED_API_KEY",
},
-- no /v1 here: the claude type adds /v1/messages

Type the model name by hand. Unbiased does not publish a model list, so :AvanteModels and the model picker may not show pareto. On Windows, use the build line from the README. avante.nvim needs Neovim 0.12 or later, and the README warns never to set version = "*".

avante.nvim stays. The model behind it changes.

You add one table to your config. The sidebar, the inline diffs and the keys your fingers already know carry on as before.

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 avante.nvim 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 avante.nvim by the month

One API key works across avante.nvim 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.

avante.nvim on Pareto, questions answered

Why does avante say my provider is missing __inherited_from?

A provider name avante does not ship with needs to say which built-in provider it borrows its request format from. Add __inherited_from = "openai" (or "claude" for the Anthropic format) to the unbiased entry and the error goes away.

Should I inherit from openai or claude?

Unbiased documents both formats. The openai type sends Chat Completions to https://api.unbiased.ai/v1. The claude type sends Messages to https://api.unbiased.ai with no /v1, because it adds that itself. Pick one and keep the endpoint that matches it.

Does agentic mode work, or do I need legacy mode?

avante’s default agentic mode asks the model to call tools such as view and bash. Pareto answers tool calls in the format avante sends, but we have not run avante.nvim itself against it, and format compatibility is not a promise that every feature works. If tool calls misbehave, set disable_tools = true on the provider or mode = "legacy", and tell us what you saw.

Can I let avante send more context?

Yes. The openai type assumes a 128,000-token context window. Pareto’s is about 1M tokens, so you can add context_window = 1000000 to the provider if you want avante to pack in more of your project. Bigger requests use more of your weekly tokens.

Can I switch back to my old provider?

Yes. Run :AvanteSwitchProvider and pick your old provider, or change provider back in your config. The unbiased entry can stay in providers for next time.

Is Pareto made by the avante.nvim team?

No. Pareto is Unbiased’s model. avante.nvim is made by yetone and the avante.nvim contributors (avante-corp on GitHub), and Unbiased is not affiliated with or endorsed by them. You keep avante.nvim 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.

Keep your hands on the home row and the bug on the run

One provider table, one key, the same Neovim. Pareto starts at $10 a month for 50M tokens a week.