# NousResearch/hermes-agent · Auxiliary client routing gaps for OAuth providers

## Open now

- 6 issues, 6 PRs open on GitHub.
- #29910: \[Bug\]: auxiliary_client: minimax-oauth not supported in auto-detection chain for kanban_decomposer
- #30720: \[Bug\]: OAuth provider 'google-gemini-cli' silently unusable as fallback chain entry
- #36091: \[Bug\]: minimax-oauth auxiliary client returns raw Anthropic SDK client instead of AnthropicAuxiliaryClient wrapper
- #38685: \[Bug\] auxiliary.vision.provider: minimax-oauth (and other non-listed OAuth) silently falls back to 'auto' instead of routing to the provider
- #45241: auxiliary_client.py: unhandled auth_type 'oauth_minimax' breaks all auxiliary tasks for minimax-oauth users
- #58231: \[Bug\] minimax-oauth provider requires API key env var despite being OAuth
- PR #22213: fix: handle oauth_minimax in auxiliary providers
- PR #23639: fix(auxiliary): support minimax oauth providers
- PR #29792: fix(aux): support google gemini cli oauth routing
- PR #40122: fix(auxiliary): support minimax-oauth in auxiliary client router (fixes #21521, #36091)
- PR #42128: fix(auxiliary): support minimax-oauth provider for auxiliary tasks
- PR #68620: fix(auxiliary): route MiniMax OAuth via runtime credentials

These issues and pull requests concern missing or broken routing for OAuth-based providers—primarily minimax-oauth and google-gemini-cli—in the auxiliary client resolution logic, including silent fallbacks, wrong client types being returned, and unhandled auth types.

## TL;DR

- 21 member(s): 6 open issue(s), 3 closed issue(s), 6 open PR(s), 1 merged PR(s), 5 PR(s) closed without merging.
- A fix was merged to main in PR #133534. Verify it addresses your case.
- **Recommended:** read PR #133534 (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: `partially_resolved` · deciding PR(s): `pr-133534`. 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.12`: 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.

## Open related issues

- #29910: \[Bug\]: auxiliary_client: minimax-oauth not supported in auto-detection chain for kanban_decomposer
- #30720: \[Bug\]: OAuth provider 'google-gemini-cli' silently unusable as fallback chain entry
- #36091: \[Bug\]: minimax-oauth auxiliary client returns raw Anthropic SDK client instead of AnthropicAuxiliaryClient wrapper
- #38685: \[Bug\] auxiliary.vision.provider: minimax-oauth (and other non-listed OAuth) silently falls back to 'auto' instead of routing to the provider
- #45241: auxiliary_client.py: unhandled auth_type 'oauth_minimax' breaks all auxiliary tasks for minimax-oauth users
- #58231: \[Bug\] minimax-oauth provider requires API key env var despite being OAuth

## Closed / duplicate issues

- #21521: \[BUG\] unhandled auth_type oauth_minimax warning on auxiliary providers
- #45242: auxiliary_client.py: unhandled auth_type 'oauth_minimax' breaks all auxiliary tasks for minimax-oauth users
- #48201: google-gemini-cli OAuth provider not supported in auxiliary resolve_provider_client

## Prior & competing PRs

- **#133534: fix(auxiliary): support MiniMax OAuth side tasks \[risk 0.80\]**. merged to main · fix tier `verified`
  - maintainer direction: category `merged`; implication `superseded`
  - files: `agent/auxiliary_client.py`, `agent/auxiliary_client_registry.py`, `hermes_cli/auth_minimax.py`, `tests/agent/test_auxiliary_client_minimax_oauth.py`, `tests/hermes_cli/test_minimax_oauth.py`
- **#22213: fix: handle oauth_minimax in auxiliary providers**. open
  - maintainer direction: category `implemented_elsewhere`; implication `superseded`
  - files: `agent/auxiliary_client.py`, `tests/agent/test_auxiliary_client.py`
- **#23639: fix(auxiliary): support minimax oauth providers**. open
  - maintainer direction: category `duplicate_of`; implication `duplicate`; refs `#22213`, `#21521`
  - files: `agent/auxiliary_client.py`, `tests/agent/test_auxiliary_client.py`
- **#29792: fix(aux): support google gemini cli oauth routing**. open
  - maintainer direction: category `merged_via`; implication `superseded`; refs `7130d60861a9243301514bff611a9381830d59d8`
  - files: `agent/auxiliary_client.py`, `agent/google_oauth.py`, `tests/agent/test_auxiliary_client.py`
- **#30059: fix(auxiliary): add minimax-oauth support to resolve_provider_client**. closed without merge
  - maintainer direction: category `duplicate_of`; implication `duplicate`; refs `#22213`, `#22213`, `#23639`, `#25287`, `#27640`, `#21521`
- **#30795: fix(auxiliary): add google-gemini-cli OAuth provider to auxiliary client routing (#30720)**. closed without merge
  - maintainer direction: category `duplicate_of`; implication `duplicate`; refs `#29792`, `#26727`, `#26513`, `#30720`
- **#35539: fix: resolve minimax-oauth auxiliary client routing**. closed without merge
  - maintainer direction: category `duplicate_of`; implication `duplicate`; refs `#22213`, `#21521`, `#25287`, `#27640`
- **#40122: fix(auxiliary): support minimax-oauth in auxiliary client router (fixes #21521, #36091)**. open
  - maintainer direction: category `uncategorized`; implication `needs_llm`; refs `#68620`
  - files: `agent/auxiliary_client.py`, `docs/diagnosis/aux-title-minimax-401.md`, `tests/agent/test_auxiliary_client.py`
- **#42128: fix(auxiliary): support minimax-oauth provider for auxiliary tasks**. open
  - maintainer direction: category `duplicate_of`; implication `duplicate`; refs `#36779`, `#40122`, `#21521`, `#36091`
  - files: `agent/auxiliary_client.py`
- **#48306: fix(agent): add google-gemini-cli to auxiliary resolve_provider_client (#48201)**. closed without merge
  - maintainer direction: category `merged_via`; implication `superseded`; refs `#30058`, `#48201`, `#30058`
- **#68620: fix(auxiliary): route MiniMax OAuth via runtime credentials**. open
  - maintainer direction: category `partial_fix`; implication `needs_llm`; refs `898a88ae187c`, `#61585`, `#68620`, `#77419`, `#77419`, `#22213`, `#23639`, `#22213`, `#25287`, `#22213`, `#27640`, `#22213`, `#25287`, `#30059`, `#22213`, `#30497`, `#30059`, `#23639`, `#35539`, `#22213`, `#36779`, `#40122`, `#68620`, `#77419`, `#40263`, `#36779`, `#42128`, `#47703`, `#40122`, `#36779`, `#77419`, `#49232`, `#22213`, `#61585`, `#21521`, `#29910`, `#36091`, `#77419`, `#68620`, `#21521`, `#29910`, `#36091`, `#77419`, `#77419`, `#47703`, `#22213`, `#23639`, `#25287`, `#27640`, `#30059`, `#30497`, `#35539`, `#36779`, `#40122`, `#40263`, `#42128`, `#47703`, `#49232`, `#61585`, `#68620`, `#77419`, `#47703`, `#61585`, `#68620`, `#77419`, `#77419`, `#68620`, `#77419`, `#77419`, `#68620`, `#77419`, `#22213`, `#23639`, `#36779`, `#40122`, `#42128`, `#49232`, `#77419`, `#374151`, `#21521`, `#29910`, `#36091`, `#38685`, `#45241`, `#45242`, `#58231`, `#22213`, `#23639`, `#25287`, `#27640`, `#30059`, `#30497`, `#35539`, `#36779`, `#40122`, `#40263`, `#42128`, `#47703`, `#49232`, `#61585`, `#68620`, `#77419`
  - files: `agent/auxiliary_client.py`, `docs/diagnosis/aux-title-minimax-401.md`, `tests/agent/test_auxiliary_client.py`
- **#77419: fix(auxiliary): route oauth_minimax through AnthropicAuxiliaryClient (fixes all aux tasks)**. closed without merge
  - maintainer direction: category `superseded_by_pr`; implication `superseded`; refs `#61585`

## Fix status

- Merged to main in PR #133534 (cited above). No release data is tracked. Verify downstream.
- Fix last verified (merged) `2026-10-06`.
- Subsystem: `agent`
