Skip to content

Pricing table

Harness Lab never hard-codes API prices. reported_cost_usd is whatever the harness itself reported (Claude Code reports one, the Codex CLI does not). estimated_cost_usd is computed only when you provide a pricing table, and every estimate carries the table's version so it stays attributable.

Where it is found

In this order: --pricing path/to/pricing.yaml on run, sweep run or grow run; then pricing.yaml in the Harness Lab home directory; then pricing.yaml in the current directory. harnesslab init copies pricing.example.yaml; copy it to pricing.yaml and fill in the rates from your provider's current price list. The example's numbers are placeholders, not prices.

Format

version: "2026-09-my-team"      # any string; stored with every estimate (defaults to a content hash)
currency: USD
models:
  claude-sonnet-5:              # exact model id first; otherwise the longest matching prefix wins,
    input_per_million: 3.0      #   so "claude-sonnet-5" also covers "claude-sonnet-5-20260101"
    cached_input_per_million: 0.3
    cache_write_per_million: 3.75
    output_per_million: 15.0
  gpt-5-codex:
    input_per_million: 1.25
    cached_input_per_million: 0.125
    output_per_million: 10.0
Rate Applied to Fallback
input_per_million uncached input tokens required (defaults to 0)
cached_input_per_million cache-read input tokens input_per_million
cache_write_per_million cache-creation input tokens input_per_million
output_per_million output tokens required (defaults to 0)
reasoning_output_per_million reserved not used yet

How an estimate is computed

When a run reports usage per model (Claude Code does), each model's usage is priced with its own entry and summed; if any model has no entry the estimate is null rather than partial. Otherwise the run's resolved model and total usage are priced. Estimates are rounded to six decimals.

Sweeps and grow budgets use the reported cost when a run has one and the estimate otherwise; with neither, sweeps rank by total tokens and say so in the report.