# NousResearch/hermes-agent · Fix 402 retry-after misclassified as billing error

## Open now

- 1 issue, 2 PRs open on GitHub.
- #102517: 402 with Retry-After is classified as terminal billing exhaustion, aborting unattended runs
- PR #102519: fix(agent): honor Retry-After and body reset fields in 402 classification
- PR #103697: fix(agent): treat 402 with retry signals as rate limit, not billing

These items concern a bug where 402 responses that include retry signals (such as Retry-After headers) are incorrectly treated as terminal billing exhaustion rather than rate limits, causing unattended runs to abort prematurely. The fixes aim to correctly classify such responses and preserve retry behavior.

## TL;DR

- 3 member(s): 1 open issue(s), 0 closed issue(s), 2 open PR(s), 0 merged PR(s), 0 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.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.

## Open related issues

- #102517: 402 with Retry-After is classified as terminal billing exhaustion, aborting unattended runs

## Prior & competing PRs

- **#102519: fix(agent): honor Retry-After and body reset fields in 402 classification**. open
  - maintainer direction: category `uncategorized`; implication `needs_llm`
  - files: `agent/error_classifier.py`, `tests/agent/test_error_classifier.py`
- **#103697: fix(agent): treat 402 with retry signals as rate limit, not billing**. open
  - maintainer direction: category `duplicate_of`; implication `duplicate`; refs `#102519`, `#102517`
  - files: `agent/error_classifier.py`, `tests/agent/test_error_classifier.py`

## Fix status

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