Motivation
Routes come back as OpenRouter ids such as anthropic/claude-opus-5.5. Users on Option A call the provider directly, and native names can differ (Anthropic's API uses claude-opus-5-5).
Proposal
Add router.native_model_id(model_id). Possible sources, in order:
- A field in OpenRouter's model data, if one exists (check
canonical_slug and hugging_face_id)
- A small per-provider rule: drop the prefix, then provider-specific fixes (e.g. Anthropic
. to -)
- A user override:
Router(..., native_ids={"anthropic/claude-opus-5.5": "claude-opus-5-5"})
Done when
Motivation
Routes come back as OpenRouter ids such as
anthropic/claude-opus-5.5. Users on Option A call the provider directly, and native names can differ (Anthropic's API usesclaude-opus-5-5).Proposal
Add
router.native_model_id(model_id). Possible sources, in order:canonical_slugandhugging_face_id).to-)Router(..., native_ids={"anthropic/claude-opus-5.5": "claude-opus-5-5"})Done when