Self-hosted worker receives tasks via API but not from web UI (privacy mode enabled)

After further testing, the POST /v0/agents with usePrivateWorker: true workaround I described above only worked once (at ~14:29 UTC today). Every subsequent attempt has failed with identical symptoms — task sits in CREATING then goes to ERROR, worker never receives
anything beyond heartbeat frames.

To isolate variables, I tested:

  • 3 separate EC2 instances (fresh Amazon Linux 2023, no proxy/VPN, clean installs each time)
  • 2 different personal API keys
  • With and without source.ref, simple and complex prompts
  • Matching and mismatching API keys between worker auth and dispatch auth
  • With and without --idle-release-timeout
  • Cleared state (agent logout, deleted agent-cli-state.json) and completely pristine installs that never went through a logout cycle

In all cases:

  • Worker connects successfully, registers in the backend (GET /v0/private-workers shows it as idle)
  • POST /v0/agents returns CREATING successfully
  • Worker receives only heartbeat frames (every 30s), never a task dispatch frame
  • Task eventually transitions to ERROR or EXPIRED

The one successful dispatch at ~14:29 UTC was the very first POST /v0/agents call with usePrivateWorker: true on this account. Every attempt after that — even with identical parameters — has failed.

Timing seems to roughly line up with this other post: Self-Hosted Agents stuck at: Waiting for self-hosted Worker