# NousResearch/hermes-agent · Bedrock ClientError HTTP status classification fix

## Open now

- 1 issue, 2 PRs open on GitHub.
- #121294: Bedrock Converse: 400 ValidationException / 403 AccessDenied retried and reported as 'temporarily unavailable' (ClientError status never extracted)
- PR #121318: fix: classify Bedrock ClientError HTTP status
- PR #136384: fix(bedrock): a malformed or forbidden request fails once instead of retrying as 'temporarily unavailable' (#121294, salvage #121318)

These items address a bug where Bedrock Converse client errors (such as 400 and 403 responses) were not having their HTTP status correctly extracted, causing them to be misclassified and incorrectly retried or reported as temporarily unavailable. The group includes the bug report and related fix attempts.

## 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

- #121294: Bedrock Converse: 400 ValidationException / 403 AccessDenied retried and reported as 'temporarily unavailable' (ClientError status never extracted)

## Prior & competing PRs

- **#121318: fix: classify Bedrock ClientError HTTP status**. open
  - maintainer direction: category `merged_via`; implication `superseded`; refs `#136384`, `#121294`, `#136384`
  - files: `agent/error_classifier.py`, `agent/turn_api_error.py`, `agent/turn_recovery.py`, `agent/turn_recovery_codex.py`, `tests/agent/test_error_classifier.py`
- **#121558: fix(bedrock): classify native ClientError status and body**. closed without merge
  - maintainer direction: category `silent_close`; implication `active`
- **#136384: fix(bedrock): a malformed or forbidden request fails once instead of retrying as 'temporarily unavailable' (#121294, salvage #121318)**. open
  - maintainer direction: category `uncategorized`; implication `needs_llm`; refs `0d23df129352a4308f9c0c9b2b0f9580922da070`
  - files: `agent/api_error_summary.py`, `agent/error_classifier.py`, `agent/turn_api_error.py`, `agent/turn_recovery.py`, `tests/agent/test_error_classifier_bedrock.py`, `tests/e2e/core/providers/test_native_bedrock_converse_faults.py`

## Fix status

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