# Per-model dollar rates for `roba cost` and the per-call footer.
#
# Rates are USD per million tokens. `cache_write` uses the 5-minute
# cache-write price; `cache_read` is the cache-hit price.
#
# Override the bundled table with `--rates-file PATH` or by setting
# `ROBA_RATES_FILE=PATH`. Suppress dollars entirely with `--no-dollars`
# (useful when these bundled rates are stale).
#
# Model keys are matched against the model id recorded in the session
# log. An exact match wins; otherwise the longest key that is a prefix
# of the id wins, so a dated id like `claude-sonnet-4-6-20260101`
# resolves to the `claude-sonnet-4-6` entry.

[meta]
as_of = "2026-06-10"
source = "https://platform.claude.com/docs/en/about-claude/pricing"

# -- Fable -------------------------------------------------------------

[models."claude-fable-5"]
input = 10.00
output = 50.00
cache_read = 1.00
cache_write = 12.50

# -- Opus --------------------------------------------------------------

[models."claude-opus-4-8"]
input = 5.00
output = 25.00
cache_read = 0.50
cache_write = 6.25

[models."claude-opus-4-7"]
input = 5.00
output = 25.00
cache_read = 0.50
cache_write = 6.25

[models."claude-opus-4-6"]
input = 5.00
output = 25.00
cache_read = 0.50
cache_write = 6.25

[models."claude-opus-4-5"]
input = 5.00
output = 25.00
cache_read = 0.50
cache_write = 6.25

[models."claude-opus-4-1"]
input = 15.00
output = 75.00
cache_read = 1.50
cache_write = 18.75

# -- Sonnet ------------------------------------------------------------

[models."claude-sonnet-4-6"]
input = 3.00
output = 15.00
cache_read = 0.30
cache_write = 3.75

[models."claude-sonnet-4-5"]
input = 3.00
output = 15.00
cache_read = 0.30
cache_write = 3.75

# -- Haiku -------------------------------------------------------------

[models."claude-haiku-4-5"]
input = 1.00
output = 5.00
cache_read = 0.10
cache_write = 1.25

[models."claude-haiku-3-5"]
input = 0.80
output = 4.00
cache_read = 0.08
cache_write = 1.00
