diff --git a/pkg/commands/oscommands/cmd_obj_runner.go b/pkg/commands/oscommands/cmd_obj_runner.go index 6dcb16b89fa..3456bcd9e23 100644 --- a/pkg/commands/oscommands/cmd_obj_runner.go +++ b/pkg/commands/oscommands/cmd_obj_runner.go @@ -249,7 +249,11 @@ func (self *cmdObjRunner) runAndStreamAux( if cmdObj.ShouldIgnoreEmptyError() { return nil } - return errors.New(stdout.String()) + stdoutStr := stdout.String() + if stdoutStr != "" { + return errors.New(stdoutStr) + } + return errors.New("Command exited with non-zero exit code, but no output") } return nil @@ -308,9 +312,7 @@ func (self *cmdObjRunner) runAndDetectCredentialRequest( return self.runAndStreamAux(cmdObj, func(handler *cmdHandler, cmdWriter io.Writer) { tr := io.TeeReader(handler.stdoutPipe, cmdWriter) - go utils.Safe(func() { - self.processOutput(tr, handler.stdinPipe, promptUserForCredential, cmdObj.GetTask()) - }) + self.processOutput(tr, handler.stdinPipe, promptUserForCredential, cmdObj.GetTask()) }) }