unbiased ai

Aider, pair programming on Pareto

Aider already speaks to any OpenAI-compatible API, so bringing Pareto in takes two environment variables and one flag. Each request goes to Pareto, which selects frontier and open models for the job and blends their outputs into one answer. Aider keeps the files; Pareto supplies the thinking.

Tested live with Aider 0.86.250M tokens a week

A demonstration of Aider on Pareto, recreated from a real run. Not a screenshot.

Two variables and a flag

Aider sends any model named openai/… to the OpenAI-compatible endpoint in OPENAI_API_BASE. Set the variables in your shell, or keep them in .aider.conf.yml in your home directory or at the root of your repo.

  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. Point Aider at Unbiased

    Set OPENAI_API_BASE to https://api.unbiased.ai/v1, with the /v1, and put your key in OPENAI_API_KEY.

  3. Name the model openai/pareto

    Start Aider with --model openai/pareto. The openai/ prefix tells Aider to use the custom base URL; plain pareto will not reach Unbiased. Type the name by hand, since Unbiased does not publish a model list for Aider to read.

  4. Let Aider run your tests

    Aider edits files and asks before it runs any command. Use /run or /test in the chat, or start with -⁠-⁠test-⁠cmd and -⁠-⁠auto-⁠test so it runs the tests after every edit and hands failures back to Pareto.

Tested on October 20, 2026Aider 0.86.2 on Pareto (pareto). It found the off-by-one in a failing Python test, edited chunk.py, and the test passed when rerun. Run record.
Shell
export OPENAI_API_BASE=https://api.unbiased.ai/v1
export OPENAI_API_KEY=your-unbiased-api-key
aider --model openai/pareto
# One task, no chat, confirmations answered yes:
aider --model openai/pareto --yes-always --message "test_chunk.py fails. Fix the bug in chunk.py." chunk.py test_chunk.py
Or .aider.conf.yml
model: openai/pareto
openai-api-base: https://api.unbiased.ai/v1
openai-api-key: your-unbiased-api-key
# Optional: run the tests after each edit
test-cmd: python3 test_chunk.py
auto-test: true

Aider prints a warning that it does not know Pareto’s context window or costs and will use defaults. The run above showed it and finished normally; add -⁠-⁠no-⁠show-⁠model-⁠warnings to hide it.

Aider stays. The model changes.

Aider keeps its habits. Only the model on the other end of the line is new.

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 Aider 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 Aider by the month

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

Aider on Pareto, questions answered

Why does the model name need the openai/ prefix?

Aider decides where to send a request from the model name. Names that start with openai/ go to the OpenAI-compatible endpoint in OPENAI_API_BASE, which is Unbiased. Without the prefix Aider does not know which provider to use, and the request never reaches Pareto.

What does “Unknown context window size and costs” mean?

Aider keeps a table of known models, and Pareto is not in it, so it falls back to default limits and shows no cost estimate. The session works normally. Hide the warning with --no-show-model-warnings, or describe the model in .aider.model.metadata.json as Aider’s docs explain.

Why does Aider send whole files back and forth?

For a model it does not know, Aider uses the whole edit format, where the model returns each changed file in full. That works, as the test above shows, but costs more tokens on large files. You can choose another format, such as diff, with --edit-format or in .aider.model.settings.yml.

Will Aider still commit my changes?

Yes. Aider commits each edit to git by default, whichever model made it, and /undo reverts the last one. Start with --no-auto-commits if you would rather commit yourself.

Can I go back to my usual model?

Yes. Start Aider with a different --model, or switch mid-chat with /model. For a regular OpenAI model, start a new session without OPENAI_API_BASE set so requests go back to OpenAI.

Is Pareto made by the Aider team?

No. Pareto is Unbiased’s model. Aider is made by Aider-AI (Paul Gauthier) and its open-source contributors, and Unbiased is not affiliated with or endorsed by them. You keep Aider 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.

Add the failing file and say what’s wrong

Two variables, one flag and the same chat. Pareto starts at $10 a month for 50M tokens a week.