Skip to content

fix: surface openrouter/fusion in the model picker - #82767

Open
fagramapp-star wants to merge 1 commit into
NousResearch:mainfrom
fagramapp-star:fix/openrouter-fusion-picker
Open

fagramapp-star wants to merge 1 commit into
NousResearch:mainfrom
fagramapp-star:fix/openrouter-fusion-picker

Conversation

@fagramapp-star

Copy link
Copy Markdown

Summary

OpenRouter's meta-routers (openrouter/fusion, openrouter/fusion-flash) publish supported_parameters: [] in the /api/v1/models catalog because the concrete model is resolved per-request. They do support tool calling — verified against the live chat/completions endpoint with a function tool: the outer model (resolved to anthropic/claude-opus-5) returned finish_reason: tool_calls with a well-formed call.

_openrouter_model_supports_tools() treated the empty list as an explicit "no tools" declaration, so these routers were silently dropped from the model picker even though they work fine as the agent's driving model.

Changes

  • _openrouter_model_supports_tools: treat an empty supported_parameters list like a missing field (permissive). Only a non-empty list that omits tools hides a model. An empty list carries no capability information.
  • Add openrouter/fusion and openrouter/fusion-flash to the curated OPENROUTER_MODELS fallback list with short descriptions (including the ~4-5x cost caveat when the fusion panel is invoked).
  • Tests: replaced test_empty_supported_parameters_list_drops_model with test_empty_supported_parameters_list_is_permissive (documents the fusion case) and added test_explicit_list_without_tools_drops_model to keep the original protection covered.

Test Plan

  • tests/hermes_cli/test_models.py — 31 passed
  • Live verification: POST /chat/completions with model: openrouter/fusion + a get_weather function tool returns tool_calls

Notes

The image-only-model protection from Kilo-Org/kilocode#9068 remains intact — those models advertise a non-empty parameter list without tools (e.g. google/gemini-3-pro-image-preview) and are still filtered.

OpenRouter meta-routers (openrouter/fusion, openrouter/fusion-flash)
publish supported_parameters: [] because the concrete model is resolved
per-request, yet they fully support tool calling (verified against the
live chat/completions endpoint: the outer model returns tool_calls).

_openrouter_model_supports_tools treated the empty list as an explicit
'no tools' declaration and dropped these routers from the picker. An
empty list carries no capability information, so treat it like a
missing field (permissive) — only a non-empty list that omits 'tools'
hides a model.

Also adds openrouter/fusion and openrouter/fusion-flash to the curated
OPENROUTER_MODELS fallback list so they appear in the picker.
@alt-glitch alt-glitch added type/bug Something isn't working P3 Low — cosmetic, nice to have comp/cli CLI entry point, hermes_cli/, setup wizard provider/openrouter OpenRouter aggregator labels Aug 9, 2026
@fattchris

Copy link
Copy Markdown
Contributor

Updated — linked issue + PR template

Fixes #46064

What does this PR do?

OpenRouter's meta-routers (openrouter/fusion, openrouter/fusion-flash) publish supported_parameters: [] because the concrete model is resolved per-request. They do support tool calling — verified against the live endpoint.

_openrouter_model_supports_tools() treated the empty list as "no tools", silently dropping these routers from the model picker.

Type of Change

  • 🐛 Bug fix (non-breaking)

Checklist

Notes

The image-only-model protection remains intact — those models advertise a non-empty parameter list without tools and are still filtered.


Note: I can't update the PR title/body directly (authored from fagramapp-star fork, and the fattchris account doesn't have write access to the upstream repo). The correct conventional-commit title should be: fix(models): surface openrouter/fusion routers in model picker despite empty supported_parameters

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp/cli CLI entry point, hermes_cli/, setup wizard P3 Low — cosmetic, nice to have provider/openrouter OpenRouter aggregator type/bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants