# NousResearch/hermes-agent · BlueBubbles webhook localhost vs 127.0.0.1 IPv4/IPv6 issue

## Open now

- 2 issues, 3 PRs open on GitHub.
- #8512: \[Bug\]: BlueBubbles webhook fails on macOS due to IPv6 localhost resolution
- #45308: BlueBubbles \`_webhook_url\` normalizes 127.0.0.1 → localhost, breaking IPv4 webhook delivery (inbound attachments dropped)
- PR #8263: fix(bluebubbles): use 127.0.0.1 instead of localhost for webhook URL
- PR #33853: fix(bluebubbles): use 127.0.0.1 instead of localhost in webhook URL (fixes #8512)
- PR #119187: fix(bluebubbles): register the IPv4 loopback literal, not "localhost"

These issues and PRs concern a problem where webhook URLs using 'localhost' resolve to IPv6 instead of IPv4, breaking BlueBubbles webhook delivery. The work focuses on preserving explicit 127.0.0.1 addresses and adjusting bind behavior to ensure reachability.

## TL;DR

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

- #8512: \[Bug\]: BlueBubbles webhook fails on macOS due to IPv6 localhost resolution
- #45308: BlueBubbles \`_webhook_url\` normalizes 127.0.0.1 → localhost, breaking IPv4 webhook delivery (inbound attachments dropped)

## Prior & competing PRs

- **#8589: fix(bluebubbles): preserve a reachable local webhook host**. closed without merge · fix tier `suggested`
  - maintainer direction: category `superseded_by_pr`; implication `superseded`; refs `#8263`
  - _suggested-tier fix detail withheld; re-request with `?tier=all` to include it._
- **#45381: fix(gateway): preserve explicit 127.0.0.1 in BlueBubbles webhook URL (#45308)**. closed without merge · fix tier `suggested`
  - maintainer direction: category `superseded_by_pr`; implication `superseded`; refs `#8263`, `#45308`
  - _suggested-tier fix detail withheld; re-request with `?tier=all` to include it._
- **#8263: fix(bluebubbles): use 127.0.0.1 instead of localhost for webhook URL**. open
  - maintainer direction: category `superseded_by_pr`; implication `superseded`; refs `#69593`, `#69593`, `#69593`
  - files: `gateway/platforms/bluebubbles.py`, `tests/gateway/test_bluebubbles.py`
- **#33853: fix(bluebubbles): use 127.0.0.1 instead of localhost in webhook URL (fixes #8512)**. open
  - maintainer direction: category `duplicate_of`; implication `duplicate`; refs `#21560`, `#8263`, `#31741`, `#33417`, `#8512`
  - files: `gateway/platforms/bluebubbles.py`, `tests/gateway/test_bluebubbles.py`
- **#45318: fix(bluebubbles): preserve 127.0.0.1 in webhook URL to fix IPv4 delivery**. closed without merge
  - maintainer direction: category `duplicate_of`; implication `duplicate`; refs `#8263`
- **#69574: fix(bluebubbles): preserve 127.0.0.1 in webhook URL on macOS**. closed without merge
  - maintainer direction: category `superseded_by_pr`; implication `superseded`; refs `#69574`, `#8263`
- **#69593: fix(bluebubbles): use 127.0.0.1 in webhook URL + migrate stale localhost registrations**. closed without merge
  - maintainer direction: category `uncategorized`; implication `needs_llm`
- **#119187: fix(bluebubbles): register the IPv4 loopback literal, not "localhost"**. open
  - maintainer direction: category `silent_close`; implication `active`
  - files: `gateway/platforms/bluebubbles.py`, `tests/gateway/test_bluebubbles.py`

## Fix status

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