buzz-acp channel discovery 404s — relay has no GET /api/channels route, and the harness reports the failure as discovered 0 channel(s)
Summary
Update: root cause identified in the comments — GET /api/channels returns 404 on the relay; the harness reports this as zero channels rather than an error.
On a self-hosted relay built from main, managed agents never subscribe to any
channel. The harness logs discovered 0 channel(s) and
no channel subscriptions resolved — agent will sit idle on every start, even
though the relay itself confirms the agent is a relay member and a member of
the channel. @mentions are therefore silently dropped and no agent ever
responds.
The desktop app shows a non-zero channel count for the same agent, so the UI and
the harness's discovery query disagree.
Environment
- Host: WSL2, Ubuntu 24.04.3 LTS (kernel 6.6.87.2-microsoft-standard-WSL2)
- Buzz: built from source,
main, cloned 3 August 2026
- Relay: local,
just dev, ws://localhost:3000
- Community: seeded
localhost:3000 at first start
- Agent:
Fizz — one of the default Welcome Team agents created by onboarding
- Runtime:
claude-agent-acp v0.64.2 (Claude Code, installed via the app's
harness setup page)
- Agent pubkey:
d00fe41a4d443c47fe7870f665f19a9c9d1e108c3cc4149c75d3c277f4044464
Expected
The harness discovers the channels the agent belongs to, subscribes, and
responds to @mentions from its owner.
Actual
Every start ends with:
INFO buzz_acp: connected to relay at ws://127.0.0.1:3000
INFO buzz_acp: subscribed to membership notifications
INFO buzz_acp: owner resolved from BUZZ_AUTH_TAG: c26482b9…fd97
INFO buzz_acp: agent owner: c26482b9…fd97
INFO buzz_acp: relay observer enabled
INFO buzz_acp: discovered 0 channel(s)
WARN buzz_acp: no channel subscriptions resolved — agent will sit idle
INFO buzz_acp: presence set to online
The agent pool initialises cleanly (agent_pool_ready agents=10), the ACP
handshake succeeds for all ten subprocesses, the relay connection succeeds, and
the owner resolves. Only discovery returns nothing.
Evidence that the memberships exist
Channel membership — the agent is present with role: "bot":
$ buzz-cli channels members --channel adafd400-706c-5c13-bf02-bc2ebb45b1c7
[{"pubkey":"c26482b9…fd97","role":"owner"},
{"pubkey":"d00fe41a…4464","role":"bot"}]
Relay membership — added manually via buzz-admin:
$ buzz-admin list-members
pubkey role added_by created_at
d00fe41a…4464 member - 2026-08-03T12:30:11Z
Channel announcement events are present:
$ buzz-admin reconcile-channels
Reconciled 0 channels (3 already had events, 3 total).
Desktop UI: the agent's profile panel shows Channels 2.
Steps to reproduce
- Clone
main, just setup && just build, just dev.
- Complete onboarding: create identity, install the Claude Code ACP adapter,
join ws://localhost:3000 via Join a community, accept the default
Welcome Team agents.
- Start Fizz from the Agents panel.
- Open the Harness Log.
Observed: discovered 0 channel(s) on every start.
Things tried, each followed by a full agent restart
| Action |
Result |
| Restart agent alone (×3) |
discovered 0 |
Add agent to public #general via the desktop UI |
discovered 0 |
buzz-admin reconcile-channels |
3 channels already had events; discovered 0 |
Set BUZZ_RELAY_PRIVATE_KEY, restart relay, buzz-admin add-member |
discovered 0 |
Timing was ruled out: relay membership was written at 12:30:11Z and the
harness restarted at 12:30:54Z, 43 seconds later, still reporting 0.
Notes
respond_to=owner-only is the default and the owner resolves correctly from
BUZZ_AUTH_TAG, so the author gate is not the cause — discovery fails before
any event reaches it.
- The relay was initially running on the hardcoded dev keypair. Setting a stable
BUZZ_RELAY_PRIVATE_KEY was required before buzz-admin add-member would run
at all, but did not change the outcome.
- The gap between the UI's channel count and the harness's discovery result
suggests the two read membership from different places.
Related
Not a duplicate of #2270 (agents deaf to untagged thread replies) or #1743
(mentions lost when the agent is offline) — in both of those the agent has
resolved channel subscriptions. Here it has none.
buzz-acp channel discovery 404s — relay has no GET /api/channels route, and the harness reports the failure as
discovered 0 channel(s)Summary
Update: root cause identified in the comments —
GET /api/channelsreturns 404 on the relay; the harness reports this as zero channels rather than an error.On a self-hosted relay built from
main, managed agents never subscribe to anychannel. The harness logs
discovered 0 channel(s)andno channel subscriptions resolved — agent will sit idleon every start, eventhough the relay itself confirms the agent is a relay member and a member of
the channel. @mentions are therefore silently dropped and no agent ever
responds.
The desktop app shows a non-zero channel count for the same agent, so the UI and
the harness's discovery query disagree.
Environment
main, cloned 3 August 2026just dev,ws://localhost:3000localhost:3000at first startFizz— one of the default Welcome Team agents created by onboardingclaude-agent-acpv0.64.2 (Claude Code, installed via the app'sharness setup page)
d00fe41a4d443c47fe7870f665f19a9c9d1e108c3cc4149c75d3c277f4044464Expected
The harness discovers the channels the agent belongs to, subscribes, and
responds to @mentions from its owner.
Actual
Every start ends with:
The agent pool initialises cleanly (
agent_pool_ready agents=10), the ACPhandshake succeeds for all ten subprocesses, the relay connection succeeds, and
the owner resolves. Only discovery returns nothing.
Evidence that the memberships exist
Channel membership — the agent is present with
role: "bot":Relay membership — added manually via buzz-admin:
Channel announcement events are present:
Desktop UI: the agent's profile panel shows
Channels 2.Steps to reproduce
main,just setup && just build,just dev.join
ws://localhost:3000via Join a community, accept the defaultWelcome Team agents.
Observed:
discovered 0 channel(s)on every start.Things tried, each followed by a full agent restart
discovered 0#generalvia the desktop UIdiscovered 0buzz-admin reconcile-channelsdiscovered 0BUZZ_RELAY_PRIVATE_KEY, restart relay,buzz-admin add-memberdiscovered 0Timing was ruled out: relay membership was written at
12:30:11Zand theharness restarted at
12:30:54Z, 43 seconds later, still reporting 0.Notes
respond_to=owner-onlyis the default and the owner resolves correctly fromBUZZ_AUTH_TAG, so the author gate is not the cause — discovery fails beforeany event reaches it.
BUZZ_RELAY_PRIVATE_KEYwas required beforebuzz-admin add-memberwould runat all, but did not change the outcome.
suggests the two read membership from different places.
Related
Not a duplicate of #2270 (agents deaf to untagged thread replies) or #1743
(mentions lost when the agent is offline) — in both of those the agent has
resolved channel subscriptions. Here it has none.