diff --git a/bin/rclaude b/bin/rclaude index fdd68a3..3b0a059 100755 --- a/bin/rclaude +++ b/bin/rclaude @@ -553,7 +553,11 @@ list_triage_on() { echo "rclaude: no python with claude_code_batch_sdk found locally" >&2 return 1 fi - "$PY" "$_helper" "$@" 2>/dev/null || true + # Detach stdin: the SDK spawns claude CLI subprocesses that inherit + # stdin from our caller. If we're invoked inside `scan_hosts | while + # read`, those subprocesses eat the pipe and the loop dies after the + # first host. /dev/null || true else _args="" for a in "$@"; do @@ -563,8 +567,7 @@ list_triage_on() { # pre-installed on the remote. ssh -o BatchMode=yes -o ConnectTimeout=5 "$_host" \ "${_REMOTE_TRIAGE_BOOT} \$PY -${_args}" \ - < "$_helper" 2>>/tmp/rclaude-debug.log \ - | tee -a "/tmp/rclaude-debug-stdout-${_host}.log" || true + < "$_helper" 2>/dev/null || true fi | awk -F'\t' -v host="$_host" ' # _claude-triage writes informational lines starting with "# " to # stderr; the stdout we capture is pure TSV. Each row: