Skip to content

fix(provider): normalize openrouter model slugs in async spawn#1716

Open
darrenzeng2025 wants to merge 1 commit intosipeed:mainfrom
darrenzeng2025:fix/1678-openrouter-model-normalization
Open

fix(provider): normalize openrouter model slugs in async spawn#1716
darrenzeng2025 wants to merge 1 commit intosipeed:mainfrom
darrenzeng2025:fix/1678-openrouter-model-normalization

Conversation

@darrenzeng2025
Copy link
Contributor

Fix OpenRouter model normalization for nested transport-prefixed model slugs.

PicoClaw could forward raw values like openrouter/minimax/minimax-m2.5 directly
to OpenRouter on async spawn/subagent paths, which causes 400 invalid model ID.

This change normalizes nested OpenRouter-prefixed slugs to the provider-accepted
\u003cvendor\u003e/\u003cmodel\u003e form before the API call, while preserving special cases like
openrouter/auto and openrouter/free.

Changes

  • Strip leading openrouter/ segment when remaining value is a nested path
  • Preserve openrouter/auto and openrouter/free shorthand values
  • Add regression tests for nested OpenRouter model refs

Fixes #1678

Fix OpenRouter model normalization for nested transport-prefixed model slugs.

PicoClaw could forward raw values like openrouter/minimax/minimax-m2.5 directly
to OpenRouter on async spawn/subagent paths, which causes 400 invalid model ID.

This change normalizes nested OpenRouter-prefixed slugs to the provider-accepted
<vendor>/<model> form before the API call, while preserving special cases like
openrouter/auto and openrouter/free.

- Strip leading openrouter/ segment when remaining value is a nested path
- Preserve openrouter/auto and openrouter/free shorthand values
- Add regression tests for nested OpenRouter model refs

Fixes sipeed#1678
@gpayer
Copy link

gpayer commented Mar 18, 2026

I hope this is merged soon, I'm stumbled upon this bug and really like it to be fixed.

@sipeed-bot sipeed-bot bot added type: bug Something isn't working domain: provider labels Mar 19, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

domain: provider type: bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Async spawn/subagent path forwards raw openrouter/... model slugs to OpenRouter and triggers 400 invalid model ID

2 participants