# NousResearch/hermes-agent · Anthropic credential pool rotation lost on refresh

## Open now

- 1 issue, 2 PRs open on GitHub.
- #118379: \[Bug\]: Anthropic per-request credential refresh reverts credential-pool rotation — two pooled subscriptions bill as one
- PR #123361: fix(agent): keep the pool-bound Anthropic account through pre-request refresh
- PR #141387: feat(credentials): \`balanced\` pool strategy by quota headroom and cache group

These items concern a bug where pre-request credential refresh overwrites or reverts the rotated pool account, causing multiple pooled Anthropic subscriptions to behave as one and bill incorrectly. The cluster focuses on identifying and fixing this rotation-preservation issue.

## TL;DR

- 4 member(s): 1 open issue(s), 0 closed issue(s), 2 open PR(s), 0 merged PR(s), 1 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_SPANNING`): every member is connected by structural evidence: shared changed files, or a closing/superseded reference.
- Pairwise link density `0.50`: 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

- #118379: \[Bug\]: Anthropic per-request credential refresh reverts credential-pool rotation — two pooled subscriptions bill as one

## Prior & competing PRs

- **#118396: fix(agent): preserve Anthropic pool rotation during refresh**. closed without merge
  - maintainer direction: category `superseded_by_pr`; implication `superseded`; refs `#107448`, `#107448`
- **#123361: fix(agent): keep the pool-bound Anthropic account through pre-request refresh**. open
  - maintainer direction: category `implemented_elsewhere`; implication `superseded`; refs `#118379`
  - files: `agent/client_lifecycle.py`, `agent/credential_pool.py`, `tests/agent/test_anthropic_pool_bound_refresh.py`
- **#141387: feat(credentials): \`balanced\` pool strategy by quota headroom and cache group**. open
  - maintainer direction: category `uncategorized`; implication `needs_llm`
  - files: `agent/agent_runtime_helpers.py`, `agent/agent_runtime_helpers_reset_headers.py`, `agent/anthropic_credentials.py`, `agent/auxiliary_unavailable.py`, `agent/chat_completion_helpers.py`, `agent/chat_completion_helpers_relay.py`, `agent/client_lifecycle.py`, `agent/codex_runtime.py`, `agent/credential_pool.py`, `agent/credential_pool_balanced.py`, `agent/credential_pool_cooldown.py`, `agent/credential_pool_model_cooldowns.py`, `agent/credential_pool_quota_window.py`, `agent/credential_pool_timestamps.py`, `agent/rate_limit_credits.py`, `agent/turn_credential_placement.py`, `contributors/emails/[redacted:email]`, `gateway/run_agent_cache.py`, `hermes_cli/auth_commands.py`, `tests/agent/test_anthropic_pool_bound_refresh.py` (+11 more)

## Fix status

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