# NousResearch/hermes-agent · custom: prefix stripped in auxiliary provider routing

## Open now

- Nothing open on GitHub.

Multiple reports and fixes address a bug where the 'custom:' prefix is incorrectly stripped or rewritten during auxiliary (vision, codex) provider resolution, causing custom providers to be misidentified as built-in ones. The fixes aim to preserve the prefix through normalization and routing logic.

## TL;DR

- 10 member(s): 0 open issue(s), 3 closed issue(s), 0 open PR(s), 0 merged PR(s), 7 PR(s) closed without merging.
- No fix has been merged to main; one or more PRs were attempted (see below).
- **Recommended:** review the prior/competing PR(s) below. A fix was attempted but not merged; your case may extend or revive that work.

## Maintainer resolution verdict

- Internal-tracker verdict over this cluster's issue members: `unresolved`. This is distinct from the fix status above. Weigh it yourself.

## How this cluster was grouped

- Link evidence (`STRUCTURAL_PARTIAL`): some members are connected by structural evidence (shared changed files, or a closing/superseded reference); the rest are joined by an automated relevance judgement over their text.
- Members outside that structural core may belong to a different underlying problem.
- Pairwise link density `0.19`: 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

- #13762: Bug: custom_providers not working with auxiliary tasks — custom: prefix stripped by _normalize_aux_provider
- #17488: custom provider named codex is rewritten to openai-codex in auxiliary paths
- #44349: auxiliary.vision.provider="custom:xxx" collapses to bare built-in, ignores custom_providers (causes 401)

## Prior & competing PRs

- **#17498: fix(agent): preserve custom codex provider aliases**. closed without merge · fix tier `suggested`
  - maintainer direction: category `implemented_elsewhere`; implication `superseded`; refs `0ddc8aba6826c316060ff72f571f14bbba7058a8`
  - _suggested-tier fix detail withheld; re-request with `?tier=all` to include it._
- **#17504: fix(agent): preserve explicit custom:codex auxiliary routing**. closed without merge · fix tier `suggested`
  - maintainer direction: category `uncategorized`; implication `needs_llm`; refs `#17498`, `#17488`
  - _suggested-tier fix detail withheld; re-request with `?tier=all` to include it._
- **#44361: fix(auxiliary): preserve custom: prefix in vision provider resolution**. closed without merge · fix tier `suggested`
  - maintainer direction: category `superseded_by_pr`; implication `superseded`; refs `#13781`
  - _suggested-tier fix detail withheld; re-request with `?tier=all` to include it._
- **#44363: fix: preserve custom: prefix in _normalize_aux_provider for named custom providers**. closed without merge · fix tier `suggested`
  - maintainer direction: category `implemented_elsewhere`; implication `superseded`; refs `0ddc8aba6826c316060ff72f571f14bbba7058a8`
  - _suggested-tier fix detail withheld; re-request with `?tier=all` to include it._
- **#44520: fix(agent): preserve custom: prefix in vision provider resolution (#44349)**. closed without merge · fix tier `suggested`
  - maintainer direction: category `superseded_by_pr`; implication `superseded`; refs `#13781`, `#44349`
  - _suggested-tier fix detail withheld; re-request with `?tier=all` to include it._
- **#13781: fix(auxiliary): preserve 'custom:' prefix in _normalize_aux_provider (Closes #13762)**. closed without merge
  - maintainer direction: category `implemented_elsewhere`; implication `superseded`; refs `cbf1f15cfedfca3fd5130b5532fb9b7f8421946b`, `#5978`
- **#44398: fix(agent): resolve custom: prefix in vision provider before normalisation**. closed without merge
  - maintainer direction: category `duplicate_of`; implication `duplicate`; refs `#13781`

## Fix status

- No merged fix on record.
- Subsystem: `agent`
