unbiased ai

goose, flying on Pareto

goose will run shell commands, edit files and drive its extensions for any model that handles tool calls. Give it one that does. Point goose’s built-in OpenAI provider at Unbiased, name the model pareto, and every turn goes to Pareto, which selects frontier and open models for each request and blends their outputs into one answer.

Tested live with goose CLI 1.55.050M tokens a week

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

Set it up in five variables

goose reads its provider, model and endpoint from the environment. Export these in your shell, or in your shell profile so every session picks them up. The built-in OpenAI provider does the work; no plugin is needed.

  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. Choose the OpenAI provider and name the model

    Set GOOSE_PROVIDER to openai and GOOSE_MODEL to pareto. Type the name yourself: goose cannot fetch a model list from Unbiased, and goose configure does not accept custom model names.

  3. Point it at Unbiased

    Set OPENAI_HOST to https://api.unbiased.ai, the host only. OPENAI_BASE_PATH holds the path, v1/chat/completions, with no leading slash. Put /v1 in one of them, not both.

  4. Put the key in the environment

    Export your key as OPENAI_API_KEY. goose ignores provider keys written in config.yaml; it reads them from the environment or from the keychain that goose configure and goose Desktop write to.

  5. Start goose

    Run goose for an interactive session, or goose run -t "your task" for a one-off. The banner should read openai pareto.

Tested on October 20, 2026goose CLI 1.55.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.
Shell
export GOOSE_PROVIDER=openai
export GOOSE_MODEL=pareto
export OPENAI_HOST=https://api.unbiased.ai
export OPENAI_BASE_PATH=v1/chat/completions
export OPENAI_API_KEY=your-unbiased-api-key
# auto is goose's default mode: it runs tools without asking
export GOOSE_MODE=auto
goose
Or a custom provider (JSON)
{
  "name": "unbiased",
  "engine": "openai",
  "display_name": "Unbiased",
  "api_key_env": "UNBIASED_API_KEY",
  "base_url": "https://api.unbiased.ai/v1/chat/completions",
  "models": [{ "name": "pareto", "context_limit": 1000000 }],
  "supports_streaming": true,
  "requires_auth": true
}

The shell settings are the ones from our live run. The custom provider file follows goose’s documentation; we have not run it live. It keeps Unbiased separate from any OpenAI key you already use. Save it in ~/.config/goose/custom_providers/, note that its base_url is the full chat completions URL, then run export UNBIASED_API_KEY=your-unbiased-api-key and goose session start --provider unbiased.

goose stays. The model changes.

goose keeps its extensions and its manners. The provider settings point somewhere 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 goose 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 goose by the month

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

goose on Pareto, questions answered

Does goose work with Pareto?

Yes. goose talks to any endpoint that speaks the OpenAI Chat Completions format, and Unbiased does. We ran goose CLI 1.55.0 against Pareto on October 20, 2026: it read a failing Python test, fixed the off-by-one in chunk.py with its edit tool and reran the test to green. Format compatibility is not a promise that every extension works, so tell us if one doesn’t.

How do I add Pareto in goose Desktop?

Open the sidebar, then Settings, the Models tab and Configure providers. Click Add Custom Provider, choose OpenAI Compatible, set the API URL to https://api.unbiased.ai/v1/chat/completions, paste your key, type pareto under Available Models and click Create Provider. Our live run used the CLI; the Desktop steps follow goose’s documentation.

Why do I get a 404 or a 401?

A 404 almost always means the path is doubled or missing: OPENAI_HOST should be https://api.unbiased.ai and OPENAI_BASE_PATH should be v1/chat/completions. A 401 that says “No api key passed in” means goose never loaded the key, usually because it was written in config.yaml. Export it as OPENAI_API_KEY instead.

How much context will goose use?

goose does not know the name pareto, so it assumes a 128,000-token limit and compacts the session as it gets close. Pareto accepts about 1M tokens. To raise goose’s limit, set GOOSE_CONTEXT_LIMIT, or set context_limit on the model in a custom provider file.

Can I switch back to my old provider?

Yes. Unset the variables, or set GOOSE_PROVIDER and GOOSE_MODEL back to what you had. A custom provider sits alongside the others, and you can pick a different one for any session.

Is Pareto made by the goose team?

No. Pareto is Unbiased’s model. goose is made by the Agentic AI Foundation at the Linux Foundation (Block created it), and Unbiased is not affiliated with or endorsed by them. You keep goose 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 goose the bug, then go get coffee

Five variables, one key and the same goose. Pareto starts at $10 a month for 50M tokens a week.