diff --git a/clang-format.py b/clang-format.py
index 13d503b..1773dbd 100755
--- a/clang-format.py
+++ b/clang-format.py
@@ -114,7 +114,7 @@
   try:
     result = cros_build_lib.RunCommand(cmd=cmd,
                                        print_cmd=False,
-                                       stdout_to_pipe=True)
+                                       redirect_stdout=True)
   except cros_build_lib.RunCommandError as e:
     print('clang-format failed:\n' + str(e), file=sys.stderr)
     print('\nPlease report this to the clang team.', file=sys.stderr)
diff --git a/pre-upload.py b/pre-upload.py
index ca05e97..75f3fcd 100755
--- a/pre-upload.py
+++ b/pre-upload.py
@@ -148,7 +148,7 @@
     The stdout from the process (discards stderr and returncode).
   """
   kwargs.setdefault('print_cmd', False)
-  kwargs.setdefault('stdout_to_pipe', True)
+  kwargs.setdefault('redirect_stdout', True)
   kwargs.setdefault('error_code_ok', True)
   result = cros_build_lib.RunCommand(cmd, **kwargs)
   return result.output.decode('utf-8', 'replace')
@@ -1424,7 +1424,7 @@
   cmd = [os.path.join(hooks_dir, 'clang-format.py')] + options
   cmd_result = cros_build_lib.RunCommand(cmd=cmd,
                                          print_cmd=False,
-                                         stdout_to_pipe=True,
+                                         redirect_stdout=True,
                                          combine_stdout_stderr=True,
                                          error_code_ok=True)
   if cmd_result.returncode:
@@ -1452,7 +1452,7 @@
   cmd = [os.path.join(hooks_dir, 'checkpatch.pl')] + options + ['-']
   cmd_result = cros_build_lib.RunCommand(
       cmd=cmd, print_cmd=False, input=_get_patch(commit).encode('utf-8'),
-      stdout_to_pipe=True, combine_stdout_stderr=True, error_code_ok=True)
+      redirect_stdout=True, combine_stdout_stderr=True, error_code_ok=True)
   if cmd_result.returncode:
     return HookFailure('checkpatch.pl errors/warnings\n\n' + cmd_result.output)
   return None
@@ -1620,7 +1620,7 @@
                                          shell=True,
                                          print_cmd=False,
                                          input=os.devnull,
-                                         stdout_to_pipe=True,
+                                         redirect_stdout=True,
                                          combine_stdout_stderr=True,
                                          error_code_ok=True)
   if cmd_result.returncode:
