unbiased ai

Codex CLI, with Pareto as the provider

Codex already lets you name your own model provider. Name Unbiased. Add one table to ~/.codex/config.toml, set the model to pareto, and the same sandbox, approvals and codex exec scripts carry on as before. Each request goes to Pareto, which selects frontier and open models for it and blends their outputs into one answer.

Tested live with Codex CLI 0.162.150M tokens a week

A demonstration of OpenAI Codex CLI on Pareto, recreated from a real run. Not a screenshot.

Set it up in one table

Codex reads custom providers from ~/.codex/config.toml (or $CODEX_HOME/config.toml). Add a provider for Unbiased, make it the default, and keep the key in an environment variable.

  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

    In ~/.codex/config.toml, add a [model_providers.unbiased] table with base_url = "https://api.unbiased.ai/v1" and wire_api = "responses". Keep the /v1: Codex adds /responses after it.

  3. Make it the default and name the model

    Set model_provider = "unbiased" and model = "pareto" at the top of the file. Codex has no model list to pick from here, so type the name yourself.

  4. Export the key and start Codex

    env_key tells Codex which environment variable holds the key, so export UNBIASED_API_KEY and run codex. For scripts, use codex exec -s workspace-write (add --skip-git-repo-check outside a git repo).

Tested on October 20, 2026OpenAI Codex CLI 0.162.1 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.
~/.codex/config.toml
model = "pareto"
model_provider = "unbiased"

[model_providers.unbiased]
name = "Unbiased"
base_url = "https://api.unbiased.ai/v1"
env_key = "UNBIASED_API_KEY"
wire_api = "responses"
Shell
export UNBIASED_API_KEY=your-unbiased-api-key

# interactive
codex

# headless (add --skip-git-repo-check outside a git repo)
codex exec -s workspace-write "Fix the failing test in test_chunk.py"

Put these lines in your user-level file. Codex ignores model_provider and model_providers in a project’s own .codex/config.toml.

OpenAI Codex CLI stays. The model changes.

Codex keeps its sandbox, its approvals and its habits. Only the provider and the model name are 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 OpenAI Codex 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 OpenAI Codex CLI by the month

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

OpenAI Codex CLI on Pareto, questions answered

Which wire_api should I use, responses or chat?

Use wire_api = "responses". It is the setting the Codex docs show for custom providers, and it is what we ran: Codex CLI 0.162.1 sent its requests to https://api.unbiased.ai/v1/responses, found the bug, patched the file and reran the test to green. Format compatibility is not a promise that every Codex feature works, so tell us if one doesn’t.

Codex warns that model metadata for pareto was not found. Is that a problem?

It didn’t stop our run. Codex has metadata for OpenAI’s own model names and uses fallback metadata for any other name, including pareto. It prints that warning, says fallback metadata can degrade performance, and carries on. Our test run showed the warning and still found the bug, patched the file and reran the test to green.

Do I need a ChatGPT plan or an OpenAI API key?

No. With model_provider = "unbiased", Codex sends requests to Unbiased with the key in UNBIASED_API_KEY, and your Unbiased plan pays for them. Your ChatGPT sign-in stays where it is for when you switch back.

Can I keep OpenAI as my default and use Pareto only sometimes?

Yes. Leave config.toml alone, put the same lines in ~/.codex/unbiased.config.toml, and start Codex with codex --profile unbiased when you want Pareto. To switch back for good, delete the model and model_provider lines.

Why can’t I call the provider openai?

Codex reserves the provider IDs openai, ollama and lmstudio for its built-in providers. Any other ID works; we use unbiased.

Is Pareto made by the OpenAI Codex CLI team?

No. Pareto is Unbiased’s model. OpenAI Codex CLI is made by OpenAI, and Unbiased is not affiliated with or endorsed by them. You keep OpenAI Codex 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 Codex the ticket you keep scrolling past

One table in config.toml, one key and the same terminal. Pareto starts at $10 a month for 50M tokens a week.