Managed agents fail with 404: desktop spawns buzz-acp with ws://127.0.0.1:3000 while the community host is localhost:3000
- Dominant language
- Rust
- Stars
- 32.7k
- Forks
- 4.3k
- Avg merge
- 1d 13h
- Merged PRs (30d)
- 253
Description
**Describe the bug**
Every managed agent starts, initialises all its ACP subprocesses, then exits 1.
The desktop app itself connects fine; only spawned agents fail.
buzz-acp starting: relay=ws://127.0.0.1:3000 ... agent_cmd=claude-agent-acp.cmd
agent initialized ×10
agent_pool_ready agents=10
WARN buzz_acp::relay: initial relay connect failed with terminal error:
WebSocket error: HTTP error: 404 Not Found
**Expected behavior**
The spawned harness should receive the same relay URL that is stored on the
agent record — or the relay should treat localhost and 127.0.0.1 as the same
community host.
**Version and platform**
Buzz Desktop v0.5.5 (Windows x64, unsigned build)
Relay: self-hosted, ghcr.io/block/buzz@sha256:ce5811ab066b24ff6352961c6633f8e0a5b4a541febe56ce91a61d7c63467023
Docker Compose (deploy/compose), Windows 11 + WSL2
**Logs / additional context**
Steps to reproduce:
1. Self-host a relay via deploy/compose with RELAY_URL=ws://localhost:3000
(community host becomes localhost:3000)
2. Connect Buzz Desktop to ws://localhost:3000 via "Join a community"
3. Create or start any managed agent
The agent record stores the URL correctly:
%APPDATA%\xyz.block.buzz.app\agents\managed-agents.json
→ "relay_url": "ws://localhost:3000"
But the spawn record shows what the harness actually gets:
%APPDATA%\xyz.block.buzz.app\agents\agent-pids\__.json
→ {"key":{"pubkey":"…","relayUrl":"ws://127.0.0.1:3000"},"pid":11344}
The relay resolves the community by Host header:
curl -H "Host: localhost:3000" http://127.0.0.1:3000/ → 200
curl -H "Host: 127.0.0.1:3000" http://127.0.0.1:3000/ → 404
Note: /_liveness returns 200 on every host, so health checks stay green
while every agent fails.
Workaround: change the community host to 127.0.0.1:3000 (update communities
set host = …) plus the matching RELAY_URL in deploy/compose/.env.
Contributor guide
Research direction
Reproduce with deploy/compose, then compare relay_url in %APPDATA%\xyz.block.buzz.app\agents\managed-agents.json with relayUrl in the corresponding agent-pids record. Trace the managed-agent spawn path and the relay Host handling; done means spawned agents receive the stored localhost URL or equivalent hosts are accepted without a WebSocket 404.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker-compose, rust
- Domain
- backend, desktop, networking
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 57/100