# NousResearch/hermes-agent · Fix git branch -d misidentified as force delete

## Open now

- Nothing open on GitHub.

A bug where case-folding caused the safe \`-d\` flag on \`git branch\` to be incorrectly treated as the force-delete \`-D\` flag, triggering an approval gate. These issues and fixes address restoring the distinction between the two flags.

## TL;DR

- 4 member(s): 0 open issue(s), 1 closed issue(s), 0 open PR(s), 1 merged PR(s), 2 PR(s) closed without merging.
- A fix was merged to main in PR #117580. Verify it addresses your case.
- **Recommended:** read PR #117580 (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: `resolved` · deciding PR(s): `pr-117580`. 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.

## Closed / duplicate issues

- #117277: \[Bug\]: approval gate blocks safe git branch -d as "force delete" while identical --delete passes — case-folding erases the -D distinction

## Prior & competing PRs

- **#117580: fix(approval): safe git branch -d no longer gated as force delete (#117277, salvage #117289)**. merged to main · fix tier `verified`
  - maintainer direction: category `merged`
  - files: `tests/tools/test_approval.py`, `tools/approval_detection.py`
- **#117284: fix(tools): stop flagging safe git branch -d as force delete (case-fold erased the -D distinction)**. closed without merge
  - maintainer direction: category `superseded_by_pr`; implication `superseded`; refs `#117289`, `#117277`
- **#117289: fix(approval): keep the git branch force-delete gate off the safe -d delete**. closed without merge
  - maintainer direction: category `merged_via`; implication `superseded`; refs `7f61872d18`, `#117580`

## Fix status

- Merged to main in PR #117580 (cited above). No release data is tracked. Verify downstream.
- Fix last verified (merged) `2026-09-20`.
