{"repo":"NousResearch/hermes-agent","public_id":"59763","display_label":"max_tokens silently dropped across providers and routes","summary":"A bug where max_tokens settings from config.yaml were silently ignored on various code paths, with multiple fixes forwarding the parameter to all providers and routes. One related item adds a reference_max_tokens cap for advisor output.","subsystem":"agent","counts":{"members":10,"open_issues":2,"open_issues_distinct":2,"open_prs":1,"closed_issues":0,"merged_prs":1,"attempt_prs":7},"landed_fix":{"status":"merged_to_main","basis":"structural","pr":70279},"resolution":{"state":"unresolved","by":null},"freshness":{"state":"verified","last_verified_at":"2026-07-23T23:17:27+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_PARTIAL","link_density":0.18577777777777776},"fix_edges":[{"issue_number":60388,"pr_number":70279,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false}],"members":[{"kind":"issue","number":59763,"title":"_resolve_runtime_agent_kwargs_for_provider()` omits `max_tokens` from its return dict, so `model.max_tokens` / `HERMES_MAX_TOKENS` / per-provider `max_output_tokens` caps are silently ignored on any provider-pinned route; `_build_call_kwargs()` additionally drops an explicit `max_tokens` for OpenRouter on the auxiliary path","url":null,"state":"open"},{"kind":"issue","number":60388,"title":"[Bug]: `max_tokens` settings across config.yaml are silently dropped","url":null,"state":"open"},{"kind":"pr","number":59792,"title":"fix(agent): include max_tokens in _resolve_runtime_agent_kwargs_for_provider return dict (#59763)","url":null,"state":"open","close_reason":{"category":"uncategorized","implication":"needs_llm"},"merged":false},{"kind":"pr","number":60454,"title":"fix(auxiliary): forward max_tokens to all providers, not just Anthropic/NIM (#60388)","url":null,"state":"closed","close_reason":{"category":"stale_abandoned","implication":"active"},"merged":false},{"kind":"pr","number":60513,"title":"fix(aux): forward max_tokens to all providers instead of dropping it (#60388)","url":null,"state":"closed","close_reason":{"category":"stale_abandoned","implication":"active"},"merged":false},{"kind":"pr","number":60620,"title":"fix: forward max_tokens to all providers in _build_call_kwargs (#60388)","url":null,"state":"closed","close_reason":{"category":"silent_close","implication":"active"},"merged":false},{"kind":"pr","number":60645,"title":"fix(aux): forward max_tokens to all providers instead of dropping it for non-Anthropic/NIM","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#60620","number":60620}],"category":"uncategorized","implication":"needs_llm"},"merged":false,"is_fix_pr":true,"fix_tier":"suggested","fix_detail_withheld":true},{"kind":"pr","number":70279,"title":"fix(moa): reference_max_tokens caps advisors on every provider, never the aggregator + per-slot caps (cluster salvage)","url":null,"state":"merged","close_reason":{"category":"merged","implication":"superseded"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["agent/auxiliary_client.py","agent/conversation_loop.py","agent/moa_loop.py","contributors/emails/[redacted:email]","contributors/emails/[redacted:email]","contributors/emails/[redacted:email]","hermes_cli/moa_config.py","tests/agent/test_auxiliary_client.py","tests/agent/test_moa_context_max_tokens.py","tests/agent/test_moa_slot_max_tokens.py","tests/hermes_cli/test_moa_config.py"]},{"kind":"pr","number":71229,"title":"fix(gateway): forward max_tokens on provider-pinned routes (#59763)","url":null,"state":"closed","close_reason":{"category":"silent_close","implication":"active"},"merged":false},{"kind":"pr","number":124043,"title":"fix: resolve #60388 — [Bug]: max_tokens settings across config.yaml are silently dropped","url":null,"state":"closed","close_reason":{"category":"uncategorized","implication":"needs_llm"},"merged":false}],"trust":{"default_tier":"verified","includes_suggested":false}}