tools should have nonzero error exit codes