Tool dispatch stall regression (#54847) still affecting CLI 2.1.168 — 45 versions of "not planned," 6 watchdog-aborts in 3 days

Open 💬 4 comments Opened Jun 10, 2026 by rhinocap

Original report #54847 was auto-closed on 2026-06-07 with stale label after 28 days inactive. No Anthropic engineer ever engaged despite three independent reporters (myself, @aiken884, @nestorcolt) with cross-platform forensic data (macOS / Cowork desktop / Linux WSL2). The bug is still present on the current release. Re-filing per the bot's own instructions.

Environment

  • CLI: 2.1.168 (current as of 2026-06-09)
  • OS: macOS Darwin 25.4.0
  • Invocation shape: parent-harness subprocess (claude --print --permission-prompt-tool stdio)
  • Originally observed on: 2.1.121 – 2.1.123 (per #54847)
  • Last known good: 2.1.120

Persistence evidence

Our gateway logs \stuck session recovery: action=abort_embedded_run\ 6 times between 2026-05-30 and 2026-06-01 alone — same fingerprint as the original (\tool_use\ emitted, no \tool_result\, no disk side-effects, no errors, age ~360-380s). Only the external watchdog recovers the subprocess.

Recent samples:

\\\
2026-05-30T08:13:58Z action=abort_embedded_run age=366s aborted=true drained=true
2026-05-30T08:41:28Z action=abort_embedded_run age=366s aborted=true drained=true
2026-05-30T08:47:58Z action=abort_embedded_run age=362s aborted=true drained=true
2026-06-01T13:47:57Z action=abort_embedded_run age=379s aborted=true drained=true
2026-06-01T16:43:58Z action=abort_embedded_run age=382s aborted=true drained=true
\
\\

The original signature (from #54847) still holds: assistant message contains a \tool_use\ block, no matching \tool_result\ for that \tool_use_id\ appears later in the same jsonl, the intended side-effect did not occur, no error on stderr, no \Tool permission stream closed before response received\ message.

Watchdog patches still load-bearing

The watchdog from the original report — fast-tool cap at 240s, other-tool cap at 10m — is what keeps our agent fleet recoverable. Full patches: https://gist.github.com/rhinocap/5325adcfc5101e32446026973fa1eeaa

Without it, every embedded run that hits the dispatch stall would hang indefinitely. With it, we get 6+ recoveries per ~3-day window.

Ask

Please reopen #54847 or triage this fresh report with engineering. The original thread had:

  • 3 independent reporters across macOS / Cowork / Linux WSL2
  • Forensic-quality reproductions with session jsonl evidence
  • A working watchdog mitigation gist
  • Cross-references to #54891 (master ticket for the broader silent-failure class), #51927 (likely-same bug class)

CC: @ant-kurt

View original on GitHub ↗

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