Job failures
ONE LINE, FOUR KINDS OF FAILURE
Silent job failures logged Claude Code's echoed command, not the real error
One of our overnight jobs kept failing, and it left the same sentence behind every time, whatever had gone wrong. The line read "Command failed", then the command we'd run, which was Claude Code being asked to pick one item out of a list.
A program that gets killed or times out writes nothing to stderr. An empty string is false, so code written as "the error output, or else the message" takes the message, and Node sets that message to the command echoed back. A hang and a crash print the same line as a missing program.
We read every place in our own job code that writes down why a child died. Seven read both, four chained them that way, and those four now name the program and say whether it timed out or went silent.
<caption>A job printed the same error line for every kind of failure, so now it says which program died and how.</caption>
#engineering