Hermes sends provider-agnostic params like reasoning_effort that OpenRouter's
auto model doesn't accept, causing a 400 on every request until this was
set. Also documents (in a follow-up, not this commit) that getting Hermes to
actually use this gateway needed live 'hermes config set' calls on the
running container (providers.litellm.{api,api_key}, model.provider=litellm,
model.default=auto) — that state lives in the hermes-data volume, not git,
so it isn't reproduced automatically by a fresh deploy. See README.
This is a tiny, well-scoped config change, so a full review is quick.
Correctness
Global scope is broader than the stated fix.drop_params: true at the top-level litellm_settings applies to every model in model_list, including anthropic-claude, whose whole comment block (lines 14–22) stresses it's fragile and only confirmed working with the exact request shape the real claude CLI sends. Silently dropping params on that route could mask why a request stops working (e.g. if the CLI's fingerprinting relies on a param LiteLLM decides is "unsupported" and strips) instead of erroring loudly. If the intent is only to fix Hermes-routed traffic, scoping drop_params per-model (it's supported in litellm_params for chosen model entries) or at least confirming this route's traffic is unaffected would be safer than a blanket setting.
No actual bug in the YAML itself — drop_params is a real, documented LiteLLM setting and true is valid at litellm_settings scope.
Simplification / notes
Change is minimal and appropriately commented; nothing to simplify.
Consider naming the specific param(s) actually observed to break Hermes routing (e.g. reasoning_effort) in the commit message/PR description with a link to logs/error, since "Details in the commit message" — worth confirming the commit body actually has that evidence rather than just restating the YAML comment.
Net: functionally reasonable one-line fix, but flag the global-vs-per-model scope tradeoff against the anthropic-claude route's known fragility before merging.
This is a tiny, well-scoped config change, so a full review is quick.
## Correctness
- **Global scope is broader than the stated fix.** `drop_params: true` at the top-level `litellm_settings` applies to *every* model in `model_list`, including `anthropic-claude`, whose whole comment block (lines 14–22) stresses it's fragile and only confirmed working with the exact request shape the real `claude` CLI sends. Silently dropping params on that route could mask why a request stops working (e.g. if the CLI's fingerprinting relies on a param LiteLLM decides is "unsupported" and strips) instead of erroring loudly. If the intent is only to fix Hermes-routed traffic, scoping `drop_params` per-model (it's supported in `litellm_params` for chosen model entries) or at least confirming this route's traffic is unaffected would be safer than a blanket setting.
- No actual bug in the YAML itself — `drop_params` is a real, documented LiteLLM setting and `true` is valid at `litellm_settings` scope.
## Simplification / notes
- Change is minimal and appropriately commented; nothing to simplify.
- Consider naming the specific param(s) actually observed to break Hermes routing (e.g. `reasoning_effort`) in the commit message/PR description with a link to logs/error, since "Details in the commit message" — worth confirming the commit body actually has that evidence rather than just restating the YAML comment.
Net: functionally reasonable one-line fix, but flag the global-vs-per-model scope tradeoff against the `anthropic-claude` route's known fragility before merging.
william
merged commit 3dc6397862 into main2026-08-23 17:15:38 +00:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Details in the commit message.
Hermes sends provider-agnostic params like reasoning_effort that OpenRouter's auto model doesn't accept, causing a 400 on every request until this was set. Also documents (in a follow-up, not this commit) that getting Hermes to actually use this gateway needed live 'hermes config set' calls on the running container (providers.litellm.{api,api_key}, model.provider=litellm, model.default=auto) — that state lives in the hermes-data volume, not git, so it isn't reproduced automatically by a fresh deploy. See README.This is a tiny, well-scoped config change, so a full review is quick.
Correctness
drop_params: trueat the top-levellitellm_settingsapplies to every model inmodel_list, includinganthropic-claude, whose whole comment block (lines 14–22) stresses it's fragile and only confirmed working with the exact request shape the realclaudeCLI sends. Silently dropping params on that route could mask why a request stops working (e.g. if the CLI's fingerprinting relies on a param LiteLLM decides is "unsupported" and strips) instead of erroring loudly. If the intent is only to fix Hermes-routed traffic, scopingdrop_paramsper-model (it's supported inlitellm_paramsfor chosen model entries) or at least confirming this route's traffic is unaffected would be safer than a blanket setting.drop_paramsis a real, documented LiteLLM setting andtrueis valid atlitellm_settingsscope.Simplification / notes
reasoning_effort) in the commit message/PR description with a link to logs/error, since "Details in the commit message" — worth confirming the commit body actually has that evidence rather than just restating the YAML comment.Net: functionally reasonable one-line fix, but flag the global-vs-per-model scope tradeoff against the
anthropic-clauderoute's known fragility before merging.