# NousResearch/hermes-agent · Alibaba provider registration and config persistence fixes

## Open now

- Nothing open on GitHub.

Multiple issues and fixes related to registering Alibaba Coding Plan as a first-class provider, preserving provider/model selection across switches, and correcting DashScope authentication and model-name handling.

## 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 #15045. Verify it addresses your case.
- **Recommended:** read PR #15045 (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-15045`. 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

- #14940: \[BUG\] Model switching fails when using Alibaba Coding Plan custom provider - auto-resolution ignores user config

## Prior & competing PRs

- **#15045: fix(providers): register alibaba-coding-plan as a first-class provider (salvage #14961)**. merged to main · fix tier `verified`
  - maintainer direction: category `merged`
  - files: `hermes_cli/auth.py`, `hermes_cli/providers.py`
  - fix hunks:
  - `hermes_cli/auth.py`

    ```diff
    @@ -224,6 +224,14 @@ class ProviderConfig:
             api_key_env_vars=("DASHSCOPE_API_KEY",),
             base_url_env_var="DASHSCOPE_BASE_URL",
         ),
    +    "alibaba-coding-plan": ProviderConfig(
    +        id="alibaba-coding-plan",
    +        name="Alibaba Cloud (Coding Plan)",
    +        auth_type="api_key",
    +        inference_base_url="https://coding-intl.dashscope.aliyuncs.com/v1",
    +        api_key_env_vars=("ALIBABA_CODING_PLAN_API_KEY", "DASHSCOPE_API_KEY"),
    +        base_url_env_var="ALIBABA_CODING_PLAN_BASE_URL",
    +    ),
         "minimax-cn": ProviderConfig(
             id="minimax-cn",
             name="MiniMax (China)",
    ```

    ```diff
    @@ -1024,6 +1032,8 @@ def resolve_provider(
             "step": "stepfun", "stepfun-coding-plan": "stepfun",
             "arcee-ai": "arcee", "arceeai": "arcee",
             "minimax-china": "minimax-cn", "minimax_cn": "minimax-cn",
    +        "alibaba_coding": "alibaba-coding-plan", "alibaba-coding": "alibaba-coding-plan",
    +        "alibaba_coding_plan": "alibaba-coding-plan",
             "claude": "anthropic", "claude-code": "anthropic",
             "github": "copilot", "github-copilot": "copilot",
             "github-models": "copilot", "github-model": "copilot",
    ```
  - `hermes_cli/providers.py`

    ```diff
    @@ -116,6 +116,10 @@ class HermesOverlay:
             transport="openai_chat",
             base_url_env_var="DASHSCOPE_BASE_URL",
         ),
    +    "alibaba-coding-plan": HermesOverlay(
    +        transport="openai_chat",
    +        base_url_env_var="ALIBABA_CODING_PLAN_BASE_URL",
    +    ),
         "vercel": HermesOverlay(
             transport="openai_chat",
             is_aggregator=True,
    ```

    ```diff
    @@ -259,6 +263,9 @@ class ProviderDef:
         "aliyun": "alibaba",
         "qwen": "alibaba",
         "alibaba-cloud": "alibaba",
    +    "alibaba_coding": "alibaba-coding-plan",
    +    "alibaba-coding": "alibaba-coding-plan",
    +    "alibaba_coding_plan": "alibaba-coding-plan",
     
         # google-gemini-cli (OAuth + Code Assist)
         "gemini-cli": "google-gemini-cli",
    ```
- **#14961: fix(providers): register alibaba-coding-plan as a first-class provider**. closed without merge
  - maintainer direction: category `merged_via`; implication `superseded`; refs `#15045`

## Fix status

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