# NousResearch/hermes-agent · api_mode handling when switching providers via hermes model

## Open now

- Nothing open on GitHub.

All three members concern the \`hermes model\` command and how \`api_mode\` is set or reset when switching providers. Two are identically titled fix entries and one is a bug report; the titles alone don't show the outcome or status of any change.

## TL;DR

- 3 member(s): 0 open issue(s), 1 closed issue(s), 0 open PR(s), 1 merged PR(s), 1 PR(s) closed without merging.
- A fix was merged to main in PR #3726. Verify it addresses your case.
- **Recommended:** read PR #3726 (and any competing PRs below) before filing. Confirm the merged change covers your symptom.

## Maintainer resolution verdict

- Internal-tracker verdict over this cluster's issue members: `resolved` · deciding PR(s): `pr-3726`. This is distinct from the fix status above. Weigh it yourself.

## How this cluster was grouped

- Link evidence (`STRUCTURAL_SPANNING`): every member is connected by structural evidence: shared changed files, or a closing/superseded reference.
- Pairwise link density `0.67`: the share of member pairs that carry a link, counting a structural link in full and a relevance-only link at 0.36. `1.00` means every pair is linked.

## Closed / duplicate issues

- #3685: \[Bug\] hermes model doesn't reset api_mode when switching providers

## Prior & competing PRs

- **#3726: fix: set api_mode when switching providers via hermes model**. merged to main · fix tier `verified`
  - maintainer direction: category `merged`
  - files: `hermes_cli/main.py`
  - fix hunks:
  - `hermes_cli/main.py`

    ```diff
    @@ -980,6 +980,7 @@ def _model_flow_openrouter(config, current_model=""):
                 cfg["model"] = model
             model["provider"] = "openrouter"
             model["base_url"] = OPENROUTER_BASE_URL
    +        model["api_mode"] = "chat_completions"
             save_config(cfg)
             deactivate_provider()
             print(f"Default model set to: {selected} (via OpenRouter)")
    ```

    ```diff
    @@ -1203,6 +1204,7 @@ def _model_flow_custom(config):
                 cfg["model"] = model
             model["provider"] = "custom"
             model["base_url"] = effective_url
    +        model["api_mode"] = "chat_completions"
             save_config(cfg)
             deactivate_provider()
     
    ```

    ```diff
    @@ -1984,6 +1986,7 @@ def _model_flow_kimi(config, current_model=""):
                 cfg["model"] = model
             model["provider"] = provider_id
             model["base_url"] = effective_base
    +        model["api_mode"] = "chat_completions"
             save_config(cfg)
             deactivate_provider()
     
    ```

    ```diff
    @@ -2090,6 +2093,7 @@ def _model_flow_api_key_provider(config, provider_id, current_model=""):
                 cfg["model"] = model
             model["provider"] = provider_id
             model["base_url"] = effective_base
    +        model["api_mode"] = "chat_completions"
             save_config(cfg)
             deactivate_provider()
     
    ```
- **#3686: fix: set api_mode when switching providers via hermes model**. closed without merge
  - maintainer direction: category `merged_via`; implication `superseded`; refs `#3726`

## Fix status

- Merged to main in PR #3726 (cited above). No release data is tracked. Verify downstream.
- Fix last verified (merged) `2026-03-29`. This confirmation is old and may be out of date (a revert/reopen would not have invalidated it here); re-verify.
- Subsystem: `hermes_cli`
