[providers.anthropic]
display_name = "Anthropic"
adapter = "anthropic"
api_key_url = "https://console.anthropic.com/settings/keys"
base_url = "https://api.anthropic.com/v1"
priority = 100

[providers.anthropic.auth]
credentials = ["env:ANTHROPIC_API_KEY", "vault:ANTHROPIC_API_KEY"]
header = { custom = "x-api-key" }

[providers.anthropic.models."claude-fable-5"]
display_name = "Claude Fable 5"
family = "claude-5"
aliases = ["fable", "claude-fable"]
agent_profile = "claude-5"

[providers.anthropic.models."claude-fable-5".limits]
context_window = 1000000
max_output = 128000

[providers.anthropic.models."claude-fable-5".features]
tools = true
vision = true
reasoning = true
reasoning_effort = "always_adaptive"
prompt_cache = true
sampling_params = false

[providers.anthropic.models."claude-fable-5".costs]
input_cost_per_mtok = 10.0
output_cost_per_mtok = 50.0
cache_input_cost_per_mtok = 1.0

[providers.anthropic.models."claude-opus-5"]
display_name = "Claude Opus 5"
family = "claude-5"
training = "2026-05-01"
knowledge_cutoff = "May 2026"
aliases = ["opus", "claude-opus"]
agent_profile = "claude-5"

[providers.anthropic.models."claude-opus-5".limits]
context_window = 1000000
max_output = 128000

[providers.anthropic.models."claude-opus-5".features]
tools = true
vision = true
reasoning = true
reasoning_effort = "levels"
prompt_cache = true
sampling_params = false

[providers.anthropic.models."claude-opus-5".controls]
speed = ["fast"]

[providers.anthropic.models."claude-opus-5".costs]
input_cost_per_mtok = 5.0
output_cost_per_mtok = 25.0
cache_input_cost_per_mtok = 0.5

[providers.anthropic.models."claude-opus-5".costs.speed.fast]
input_cost_per_mtok = 10.0
output_cost_per_mtok = 50.0
cache_input_cost_per_mtok = 1.0

[providers.anthropic.models."claude-sonnet-5"]
display_name = "Claude Sonnet 5"
family = "claude-5"
training = "2026-01-01"
knowledge_cutoff = "Jan 2026"
default = true
aliases = ["sonnet", "claude-sonnet"]
agent_profile = "claude-5"

[providers.anthropic.models."claude-sonnet-5".limits]
context_window = 1000000
max_output = 128000

[providers.anthropic.models."claude-sonnet-5".features]
tools = true
vision = true
reasoning = true
reasoning_effort = "levels"
prompt_cache = true
sampling_params = false

# Introductory pricing through August 31, 2026.
[providers.anthropic.models."claude-sonnet-5".costs]
input_cost_per_mtok = 2.0
output_cost_per_mtok = 10.0
cache_input_cost_per_mtok = 0.2

[providers.anthropic.models."claude-opus-4-8"]
display_name = "Claude Opus 4.8"
family = "claude-4"
training = "2026-01-01"
knowledge_cutoff = "Jan 2026"
estimated_output_tps = 25

[providers.anthropic.models."claude-opus-4-8".limits]
context_window = 1000000
max_output = 128000

[providers.anthropic.models."claude-opus-4-8".features]
tools = true
vision = true
reasoning = true
reasoning_effort = "levels"
prompt_cache = true
sampling_params = false

[providers.anthropic.models."claude-opus-4-8".controls]
speed = ["fast"]

[providers.anthropic.models."claude-opus-4-8".costs]
input_cost_per_mtok = 5.0
output_cost_per_mtok = 25.0
cache_input_cost_per_mtok = 0.5

[providers.anthropic.models."claude-opus-4-8".costs.speed.fast]
input_cost_per_mtok = 10.0
output_cost_per_mtok = 50.0
cache_input_cost_per_mtok = 1.0

[providers.anthropic.models."claude-opus-4-7"]
display_name = "Claude Opus 4.7"
family = "claude-4"
training = "2025-08-01"
knowledge_cutoff = "May 2025"
estimated_output_tps = 25

[providers.anthropic.models."claude-opus-4-7".limits]
context_window = 1000000
max_output = 128000

[providers.anthropic.models."claude-opus-4-7".features]
tools = true
vision = true
reasoning = true
reasoning_effort = "levels"
prompt_cache = true
sampling_params = false

[providers.anthropic.models."claude-opus-4-7".controls]
speed = ["fast"]

[providers.anthropic.models."claude-opus-4-7".costs]
input_cost_per_mtok = 5.0
output_cost_per_mtok = 25.0
cache_input_cost_per_mtok = 0.5

[providers.anthropic.models."claude-opus-4-7".costs.speed.fast]
input_cost_per_mtok = 30.0
output_cost_per_mtok = 150.0
cache_input_cost_per_mtok = 3.0

[providers.anthropic.models."claude-opus-4-6"]
display_name = "Claude Opus 4.6"
family = "claude-4"
training = "2025-08-01"
knowledge_cutoff = "May 2025"
estimated_output_tps = 25

[providers.anthropic.models."claude-opus-4-6".limits]
context_window = 1000000
max_output = 128000

[providers.anthropic.models."claude-opus-4-6".features]
tools = true
vision = true
reasoning = true
reasoning_effort = "levels"
prompt_cache = true

[providers.anthropic.models."claude-opus-4-6".controls]
speed = ["fast"]

[providers.anthropic.models."claude-opus-4-6".costs]
input_cost_per_mtok = 5.0
output_cost_per_mtok = 25.0
cache_input_cost_per_mtok = 0.5

[providers.anthropic.models."claude-opus-4-6".costs.speed.fast]
input_cost_per_mtok = 30.0
output_cost_per_mtok = 150.0
cache_input_cost_per_mtok = 3.0

[providers.anthropic.models."claude-sonnet-4-5"]
display_name = "Claude Sonnet 4.5"
family = "claude-4"
training = "2025-08-01"
knowledge_cutoff = "May 2025"
estimated_output_tps = 50

[providers.anthropic.models."claude-sonnet-4-5".limits]
context_window = 200000
max_output = 64000

[providers.anthropic.models."claude-sonnet-4-5".features]
tools = true
vision = true
reasoning = true
prompt_cache = true

[providers.anthropic.models."claude-sonnet-4-5".controls]
reasoning_effort = ["low", "medium", "high", "xhigh", "max"]

[providers.anthropic.models."claude-sonnet-4-5".costs]
input_cost_per_mtok = 3.0
output_cost_per_mtok = 15.0
cache_input_cost_per_mtok = 0.3

[providers.anthropic.models."claude-sonnet-4-6"]
display_name = "Claude Sonnet 4.6"
family = "claude-4"
training = "2025-08-01"
knowledge_cutoff = "May 2025"
estimated_output_tps = 50

[providers.anthropic.models."claude-sonnet-4-6".limits]
context_window = 200000
max_output = 64000

[providers.anthropic.models."claude-sonnet-4-6".features]
tools = true
vision = true
reasoning = true
reasoning_effort = "levels"
prompt_cache = true

[providers.anthropic.models."claude-sonnet-4-6".costs]
input_cost_per_mtok = 3.0
output_cost_per_mtok = 15.0
cache_input_cost_per_mtok = 0.3

[providers.anthropic.models."claude-haiku-4-5"]
display_name = "Claude Haiku 4.5"
family = "claude-4"
training = "2025-08-01"
knowledge_cutoff = "May 2025"
estimated_output_tps = 100
aliases = ["haiku", "claude-haiku"]
probe = true
small_default = true

[providers.anthropic.models."claude-haiku-4-5".limits]
context_window = 200000
max_output = 8192

[providers.anthropic.models."claude-haiku-4-5".features]
tools = true
vision = true
reasoning = false
prompt_cache = true

[providers.anthropic.models."claude-haiku-4-5".costs]
input_cost_per_mtok = 0.8
output_cost_per_mtok = 4.0
cache_input_cost_per_mtok = 0.08
