Parallel Bash batch: 4/7 calls return "internal error" after 14h silent gap; CLI process never restarted
Resolved 💬 2 comments Opened May 25, 2026 by khoward Closed Jun 26, 2026
Summary
A single round of parallel Bash tool calls returned 14 hours after issue, with 4 of 7 calls labeled "internal error" (no payload) and the other 3 returning normally. The Claude CLI process did not restart, the host never slept, and the terminal was local. No ~/.claude/logs/ directory exists on this install, so there is nothing to attach.
Environment
- Claude Code CLI version:
2.1.141(path:~/.local/share/claude/versions/2.1.141) - Model:
claude-opus-4-7(Opus 4.7, 1M context) - OS: Linux 6.14.0-1015-nvidia (Ubuntu-family), x86_64, 12 CPU, 64G RAM
- Terminal: local gnome-terminal (no SSH/RDP layer)
- A second concurrent
claude --chrome --remote-controlsession was running in another terminal (separate PID, separate parent bash)
Timeline
/clearfollowed by/session-start-kitchen-sinkskill invocation issues one batched round of 7 parallelBashcalls (heartbeat timer check, gateway+DW health curl, recent-memory listing, file size check, git status, worktree inventory, DW heartbeat history curl).- 3 of 7 calls return promptly with valid output.
- A
<system-reminder>The date has changed. Today's date is now 2026-05-25.</system-reminder>appears inside one returned result — indicating the tool round itself spanned a date boundary. - The remaining 4 calls return with payload "[Tool result missing due to internal error]" — no stdout, no stderr, no exit code surfaced.
- Wall-clock delta between sibling calls in the same parallel batch: ~13.9 hours.
Evidence ruling out common causes
- No host sleep / suspend:
journalctlshows zero suspend/resume entries in window.codex-phone-host.shkeepalive fired every 20 min through the gap;mop-heartbeat-pal.servicefired every 10 min throughout. - No CLI process restart:
ps -o lstartshows the Claude CLI PID started 2026-05-24 08:51:15 and is still running at the time of investigation. - No client disconnect: local terminal, no remote layer.
- No OOM:
dmesgclean, no killed processes. - Load normal during gap:
sar -qshows 1.5–6 range load averages across the window (12 CPU box). - No plausible local hang in the failed calls: the 4 failed commands were
test -f,git statuson a local repo,ls /opt/dw-ops/worktrees/, and acurl --max-time 5to localhost. None can legitimately take 14h.
What's missing on disk
~/.claude/logs/does not exist — no harness logs to attach. If there's a flag to enable persistent CLI-side tool-execution logs, please document it; this is the kind of bug that's only diagnosable from that layer.
Reproduction
Not deterministically reproducible from this side. The trigger appears to be a wide parallel Bash batch combined with something (memory pressure? IPC stall?). Filing primarily so the failure mode — silent "internal error" payloads delivered 14h late instead of a loud timeout — is visible to maintainers.
Asks
- Is the "internal error" payload a known failure mode, and what does it actually mean inside the harness?
- Can the parallel tool runner surface a timeout / disconnect error instead of returning empty
internal errorresults 14h later? - Is there a way to enable persistent CLI-side logs so future repros are diagnosable?
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗