Earlier this session I removed this route after a curl-based test got rejected by Anthropic and concluded OAuth subscription forwarding doesn't work through a proxy at all. That conclusion was wrong: the real `claude` CLI binary, with ANTHROPIC_BASE_URL pointed at litellm, successfully completed a request billed against the subscription. The earlier curl test just didn't replicate whatever header/fingerprint Anthropic requires from genuine Claude Code CLI traffic — LiteLLM relays that fine when the real CLI is the caller, but a hand-built request from any other client (Hermes included) still gets rejected the same way curl did.
30 lines
1.4 KiB
YAML
30 lines
1.4 KiB
YAML
model_list:
|
|
# General chat — OpenRouter's own auto-router picks the best underlying model per prompt.
|
|
- model_name: auto
|
|
litellm_params:
|
|
model: openrouter/openrouter/auto
|
|
api_key: os.environ/OPENROUTER_API_KEY
|
|
|
|
# Cheap/fast model used by the agent's own chat-vs-code-task classifier, not by users directly.
|
|
- model_name: router-classifier
|
|
litellm_params:
|
|
model: openrouter/openai/gpt-4o-mini
|
|
api_key: os.environ/OPENROUTER_API_KEY
|
|
|
|
# Routes to Anthropic using the CALLER's forwarded Authorization header (the Claude
|
|
# Pro/Max subscription OAuth token) instead of a LiteLLM-held API key — billed against
|
|
# the subscription, not per-token. CONFIRMED WORKING, but only for the real `claude`
|
|
# CLI binary as caller (tested: `claude -p` with ANTHROPIC_BASE_URL pointed here
|
|
# returned a real completion). An earlier test with plain curl replicating the same
|
|
# request shape failed — Anthropic apparently requires header/fingerprint details only
|
|
# the real CLI sends, which LiteLLM faithfully relays but a hand-built request won't
|
|
# have. Do NOT expect this to work for other callers (Hermes, generic HTTP clients) —
|
|
# they aren't the real CLI and can't reproduce that fingerprint.
|
|
- model_name: anthropic-claude
|
|
litellm_params:
|
|
model: anthropic/claude-sonnet-5
|
|
|
|
general_settings:
|
|
forward_client_headers_to_llm_api: true
|
|
master_key: os.environ/LITELLM_MASTER_KEY
|