macOS arm64: 2+ concurrent background agents cause daemon supervisor 'signal war' (cause=signal, leases=2) — ~52s respawn, reconnect flicker + red agents

Open 💬 2 comments Opened Jun 29, 2026 by Haohaokankan123

Summary

On macOS (Apple Silicon), running 2+ concurrent background agents (FleetView) causes the on-demand background daemon supervisor to enter a perpetual respawn/"signal war": a new supervisor is elected roughly every ~52s, each rebinding the same control socket. Each re-election drops every attached TUI's connection (a "Reconnecting…" chip flashes, input freezes ~1s, sessions occasionally get kicked) and sometimes kills live workers, which surfaces in FleetView as agents turning red (state: failed).

Environment

  • Claude Code 2.1.195 (native install, autoUpdates on)
  • macOS, Apple Silicon (arm64), 24 GB RAM
  • Multiple concurrent FleetView background agents

Key evidence (~/.claude/daemon.log)

Decisive line:

[supervisor] shutting down (cause=signal, uptime=6s, leases=2, live_workers=5)
  • cause=signal → the supervisor is killed by a signal, NOT a crash/OOM/idle-timeout.
  • leases=2 → exactly two concurrently-running agents.
  • Each running agent spawns its own claude daemon run --origin transient; the newer one signals the older one's daemon down → ping-pong. With 1 running agent it's stable; with ≥2 it wars.

Cadence (new supervisor pid every ~52s, same control socket):

07:41:47 daemon start pid=33069
07:42:39 daemon start pid=33540
07:42:45 shutting down (cause=signal, uptime=6s, leases=2, live_workers=5)
07:43:14 daemon start pid=33858   bg adopt: adopted=2 ... dead=3   <- workers killed = red agents
07:44:06 daemon start pid=34419

claude daemon --help states: "Service install is disabled in this version — the daemon runs on demand and exits when the last client disconnects." There is never a persistent supervisor; all are origin=transient. daemon.json is empty; no settings.json / env tunable found to make agents share one daemon.

Impact

Makes running multiple background agents in parallel effectively unusable — constant reconnect flicker, dropped input, and agents dying mid-task.

Likely related

#66483 (supervisor idle/respawn), #58637 (bg state-sync at ≥6 agents), #59653 (daemon-spawned workers crash "exit 1 before init" on macOS arm64 — matches the red crashes), #66358 / #58560 (auto-update rotates control key / version skew).

Ask

Is the persistent shared-daemon work (codename "Chyros") expected to land for this? In the meantime, is there any supported way for 2+ concurrent background agents on macOS arm64 to share a single daemon rather than each spawning a competing transient supervisor?

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗