Workflow tool: run reports 'completed' with no degradation signal when most agents die on session rate limit (15/22 dead → silently null)

Open 💬 1 comment Opened Jul 10, 2026 by anombyte93

Environment

Claude Code CLI on Linux, model claude-fable-5, Workflow tool (multi-agent orchestration), 2026-07-10.

What happened

An adversarial-review workflow spawned 22 agents (4 finders + 18 verifiers). Partway through, the
account hit its session limit: every in-flight verifier's transcript ends with
"You've hit your session limit · resets 7:30pm" and those agent() calls resolved to null
(documented behavior). The workflow then ran to completion and the harness surfaced a normal
"Dynamic workflow … completed" notification.

Net effect: the orchestrating session received a "completed" review in which 15 of 18
verification agents never ran — findings passed through unverified with zero indication of
degradation. The journal (journal.jsonl) shows 22 started events but only 7 result events;
the dead agents get no terminal journal event at all (no error/aborted record), so even
forensic reconstruction has to open individual agent-*.jsonl transcripts to discover the cause.

Why this matters

null-on-terminal-error is fine per-call, but the RUN-level contract is misleading: "completed"
with a majority-dead agent fleet is a silent-degradation false success. Scripts that
.filter(Boolean) (the documented pattern) actively hide the loss.

Suggested fix (any of, ideally all)

  1. Completion notification includes an agent casualty summary when any agent died on a terminal

API error: "completed (DEGRADED: 15/22 agents failed — rate limit)".

  1. Journal writes a terminal event ({"type":"error","agentId":…,"reason":"rate_limit"}) for

every started-but-dead agent, so started events always pair with a terminal record.

  1. Expose the count programmatically in the workflow result envelope (e.g. agents_failed: 15)

so orchestrators can gate on it, and/or pause-and-resume the run when the limit resets instead
of burning the remaining stages.

Repro sketch

Run a workflow with ~20 parallel agent() calls near a session-limit boundary; observe the
completion notification and journal once the limit trips mid-run.

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗