{"repo":"NousResearch/hermes-agent","public_id":"83847","display_label":"Model alias key_env config fixes","summary":"Multiple fixes addressing model aliases silently ignoring key_env/api_key settings, causing wrong API keys to be used, plus related issues with aliases not appearing in the model picker and malformed custom provider configs.","subsystem":"agent","counts":{"members":4,"open_issues":1,"open_issues_distinct":1,"open_prs":0,"closed_issues":0,"merged_prs":1,"attempt_prs":2},"landed_fix":{"status":"merged_to_main","basis":"structural","pr":114809,"merged_at":"2026-09-18T16:41:03+00:00"},"resolution":{"state":"unresolved","by":null},"freshness":{"state":"verified","last_verified_at":"2026-09-18T16:41:03+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_SPANNING","link_density":0.5},"fix_edges":[{"issue_number":58907,"pr_number":114809,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false,"pr_merged_at":"2026-09-18T16:41:03+00:00"},{"issue_number":76138,"pr_number":114809,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false,"pr_merged_at":"2026-09-18T16:41:03+00:00"},{"issue_number":83847,"pr_number":114809,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false,"pr_merged_at":"2026-09-18T16:41:03+00:00"},{"issue_number":114605,"pr_number":114809,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-09-18T16:41:03+00:00"}],"members":[{"kind":"issue","number":83847,"title":"model_aliases: key_env is silently ignored (custom provider forced onto OPENAI_API_KEY, causes 401), and aliases never appear in the model picker","url":null,"state":"open"},{"kind":"pr","number":83908,"title":"fix(model-alias): honor key_env in direct model aliases","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"3145986c20","number":0},{"kind":"pr","value":"#83612","number":83612}],"category":"implemented_elsewhere","implication":"superseded"},"merged":false},{"kind":"pr","number":109834,"title":"fix(cli): honour key_env/api_key in config.yaml model.aliases entries","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"aca2631d9508","number":0},{"kind":"pr","value":"#114809","number":114809},{"kind":"pr","value":"#114605","number":114605},{"kind":"pr","value":"#114471","number":114471},{"kind":"pr","value":"#45730","number":45730},{"kind":"pr","value":"#109834","number":109834}],"category":"merged_via","implication":"superseded"},"merged":false},{"kind":"pr","number":114809,"title":"fix(config): malformed custom_providers no longer empties the providers view; config set refuses type mismatches; nested aliases keep key_env (#114605, #114471, salvage #45730, #109834)","url":null,"state":"merged","close_reason":{"category":"merged"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["contributors/emails/[redacted:email]","contributors/emails/[redacted:email]","contributors/emails/[redacted:email]","hermes_cli/config.py","hermes_cli/config_providers.py","hermes_cli/model_switch.py","tests/hermes_cli/test_config.py","tests/hermes_cli/test_config_set_list_values.py","tests/hermes_cli/test_model_alias_credentials.py","tests/hermes_cli/test_set_config_value.py","website/docs/reference/cli-commands.md"]}],"trust":{"default_tier":"verified","includes_suggested":false}}