No liveness primitive for dispatched background agents — silence is ambiguous, causing duplicate redispatches
Summary
There is no liveness primitive for dispatched background agents. A dispatcher (or the human operator) cannot distinguish alive-but-slow / completed-but-silently (lost wake) / genuinely dead without manually inspecting output-file mtimes and transcript files on disk.
Why it matters
Because silence is ambiguous, dispatchers routinely presume death and redispatch. When the original agent was actually alive (the most common case — see the lost-wake issue), this produces duplicate execution, doubled token spend, and same-file overwrite races between the original and the duplicate (observed repeatedly: three double-runs on 2026-07-18, two on 2026-07-20 where two copies of the same audit overwrote each other's report file).
Expected
A queryable status for spawned agents — running / idle / dead plus a last-activity timestamp — exposed to the dispatching session (and ideally the CLI), so "check before redispatch" can be a cheap API call instead of forensic file-mtime archaeology.
Environment / scale
Claude Code 2.1.214–2.1.215, Linux (WSL2), ~30–50 background agent jobs/day.
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗