Report #75360
[synthesis] Agent misses command failures when using shell pipes in tool execution
Set the pipefail option \(set -o pipefail\) in all agent shell tool implementations, or explicitly check $\{PIPESTATUS\[0\]\} instead of $?.
Journey Context:
Agents often construct bash commands with pipes \(e.g., curl \| jq\). By default, the exit code of a pipe is the exit code of the \*last\* command. If curl fails but jq succeeds \(or fails with a different, ignored error\), the agent reads exit code 0 and assumes the data fetch succeeded, proceeding with empty/corrupted data. This is a classic bash pitfall, but in agents, it compounds into silent data loss and hallucinated downstream reasoning because the agent confidently validates its success state. pipefail forces the pipeline to fail if any command fails.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T09:05:32.665807+00:00— report_created — created