diff --git a/README.md b/README.md
index a6bf28f..d5e251e 100644
--- a/README.md
+++ b/README.md
@@ -16,22 +16,22 @@
 tools/external_updater/updater.sh update ${LIBNAME}
 ```
 
-Update a library without committing and uploading:
+Update a library without committing and uploading to Gerrit:
 
 ```shell
-tools/external_updater/updater.sh update --stop_after_merge ${LIBNAME}
+tools/external_updater/updater.sh update --no-upload ${LIBNAME}
 ```
 
 Update a library on top of the local changes in the current branch, commit, and upload the change to Gerrit:
 
 ```shell
-tools/external_updater/updater.sh update --keep_local_changes ${LIBNAME}
+tools/external_updater/updater.sh update --keep-local-changes ${LIBNAME}
 ```
 
 Update a library without building:
 
 ```shell
-tools/external_updater/updater.sh update --no_build ${LIBNAME}
+tools/external_updater/updater.sh update --no-build ${LIBNAME}
 ```
 
 LIBNAME can be the path to a library under external/, e.g. kotlinc, or
diff --git a/external_updater.py b/external_updater.py
index fe03390..149eea9 100644
--- a/external_updater.py
+++ b/external_updater.py
@@ -121,7 +121,7 @@
                 print("Build failed. Aborting upload.")
                 return
 
-        if args.stop_after_merge:
+        if args.no_upload:
             return
 
         try:
@@ -272,7 +272,7 @@
         nargs='*',
         help='Paths of the project. '
         'Relative paths will be resolved from external/.')
-    check_parser.add_argument('--json_output',
+    check_parser.add_argument('--json-output',
                               help='Path of a json file to write result to.')
     check_parser.add_argument(
         '--all',
@@ -292,7 +292,7 @@
         nargs='*',
         help='Paths of the project as globs. '
         'Relative paths will be resolved from external/.')
-    update_parser.add_argument('--json_output',
+    update_parser.add_argument('--json-output',
                                help='Path of a json file to write result to.')
     update_parser.add_argument(
         '--force',
@@ -303,23 +303,23 @@
         help='Run update and refresh to the current version.',
         action='store_true')
     update_parser.add_argument(
-        '--keep_date',
+        '--keep-date',
         help='Run update and do not change date in METADATA.',
         action='store_true')
-    update_parser.add_argument('--stop_after_merge',
+    update_parser.add_argument('--no-upload',
                                action='store_true',
-                               help='Stops after merging new changes')
-    update_parser.add_argument('--keep_local_changes',
+                               help='Does not upload to Gerrit after upgrade')
+    update_parser.add_argument('--keep-local-changes',
                                action='store_true',
                                help='Updates the current branch')
-    update_parser.add_argument('--skip_post_update',
+    update_parser.add_argument('--skip-post-update',
                                action='store_true',
                                help='Skip post_update script')
-    update_parser.add_argument('--no_build',
+    update_parser.add_argument('--no-build',
                                action='store_false',
                                dest='build',
                                help='Skip building'),
-    update_parser.add_argument('--remote_name',
+    update_parser.add_argument('--remote-name',
                                default='aosp',
                                required=False,
                                help='Upstream remote name.')
