doesn't cache the result if the command failed (e.g. timeout)