Auxiliary tasks fallback to paid OpenRouter models instead of configured free ones
Cluster 2453 · agent. Data as of
1 open item. Fix merged in #2464 on 22 Mar 2026. Check it covers your case.
The short answer
- Known?
- Yes. 17 related items grouped here, 5 issues already closed.
- Fix event
- A fix was merged to main in PR #2464. Check it covers your case. No release data is tracked.
- Tracker
- The maintainers' tracker marks this
partially resolved, deciding PR #2464. That is separate from the fix event. - Still open
- 1 issue and 0 PRs.
Next step: read #2464, then check whether your report is the one still open.
Read #2464Pick up a Lab taskMost members concern auxiliary-task model selection (compression, title generation, web tools) falling back to hardcoded or paid OpenRouter defaults rather than honoring user-configured fallback_providers, free-only settings, or session-level model switches. Proposed changes include removing hardcoded defaults, preserving the :free suffix, and propagating model switches.
Open issues1
- Issue#50954Auxiliary fallback: make the hardcoded last-resort default genuinely free + add model-selection audit trail (follow-up to #36759)
Open PRs0
Fixes on record
-
#2464 fix(compression): remove hardcoded gemini-3-flash-preview as default summary model
files:
cli.py,hermes_cli/config.pyShow the diff
-
cli.py@@ -180,7 +180,7 @@ def load_cli_config() -> Dict[str, Any]: "compression": { "enabled": True, # Auto-compress when approaching context limit "threshold": 0.50, # Compress at 50% of model's context limit - "summary_model": "google/gemini-3-flash-preview", # Fast/cheap model for summaries + "summary_model": "", # Model for summaries (empty = use main model) }, "smart_model_routing": { "enabled": False, -
hermes_cli/config.py@@ -159,7 +159,7 @@ def ensure_hermes_home(): "compression": { "enabled": True, "threshold": 0.50, - "summary_model": "google/gemini-3-flash-preview", + "summary_model": "", # empty = use main configured model "summary_provider": "auto", "summary_base_url": None, }, @@ -1659,7 +1659,8 @@ def show_config(): print(f" Enabled: {'yes' if enabled else 'no'}") if enabled: print(f" Threshold: {compression.get('threshold', 0.50) * 100:.0f}%") - print(f" Model: {compression.get('summary_model', 'google/gemini-3-flash-preview')}") + _sm = compression.get('summary_model', '') or '(main model)' + print(f" Model: {_sm}") comp_provider = compression.get('summary_provider', 'auto') if comp_provider != 'auto': print(f" Provider: {comp_provider}")
-
10 PRs closed without merging
From the close comments: closed without comment 2 · done elsewhere 2 · duplicate 2 · superseded by another PR 2 · merged via another change 1 · other 1
-
#2457 fix(compression): remove hardcoded gemini-3-flash-preview as default summary model · merged via another change →
#2464 -
#25180 fix(auxiliary): prefer fallback_providers model for OpenRouter aux tasks · done elsewhere →
#36759,#50954 -
#25316 fix(auxiliary): preserve :free suffix in auxiliary fallback models · superseded by another PR →
#25180 - #36789 fix(agent): honor declared fallback chain for aux runtime overrides · other
-
#38716 fix(agent): propagate mid-session model switch to auxiliary client (#36759) · done elsewhere →
#36759,#50954
Show 5 more
- #44939 fix(auxiliary): use empty default for OpenRouter auxiliary model (#44894) · closed without comment
-
#45077 fix: When openrouter key hermes uses paid Auxiliary default models for silly things like session title generation (#44894) · duplicate →
#44939,#44894,#45091 -
#45091 fix(provider): OpenRouter key uses paid Auxiliary default models for silly things like session title generation (#44894) · duplicate →
#44939,#44894 -
#45121 fix(auxiliary): use free default models for auxiliary tasks (#44894) · superseded by another PR →
#44939,#44894 - #106319 feat(cli): add profile-scoped free-only OpenRouter choices · closed without comment
Closed issues · 5
- Closed#2453[Bug]: Agent uses gemini 3 flash preview from openrouter for ( compression / auxiliary _client and web_tools)
- Closed#24029Auxiliary tasks silently fall back to paid OpenRouter models, bypassing user's free-only configuration
- Closed#24039Auxiliary fallback chain should reuse fallback_providers, not maintain a separate hardcoded list
- Closed#36759Auxiliary fallback ignores session-level model switch and routes to paid model via unselected credential pool
- Closed#44894When openrouter key hermes uses paid Auxiliary default models for silly things like session title generation
How this cluster was grouped
-
Link evidence (
partly structural links): some members are connected by structural evidence (shared changed files, or a closing/superseded reference); the rest are joined by an automated relevance judgement over their text. - Members outside that structural core may belong to a different underlying problem.
-
Pairwise link density
0.09: the share of item pairs that carry a link, counting a structural link in full and a relevance-only link at 0.36.1.00means every pair is linked.
Pick up a Lab task
Check whether a fix covers the open issues here, with your own agent. Bring back evidence for maintainers.
Open the LabAt a glance
- Subsystem
- agent
- Merged PRs
- #2464
- Closed issues
- 5
- Attempts
- 10 PRs closed without merging
- Fix link checked
- 22 Mar 2026. This confirmation is old and may be out of date (a revert or reopen would not have invalidated it here); re-verify.