diff --git a/external_updater.py b/external_updater.py
index 65a89644ff8ccd083739043d120a4c8dcd02c8ad..c524c0bcabf6ff2b80826c8a91b8659d43fe3074 100644
--- a/external_updater.py
+++ b/external_updater.py
@@ -136,7 +136,7 @@ def _check_some(paths, delay):
 
 def _check_all(delay):
     results = {}
-    for path, dirs, files in os.walk(args.path):
+    for path, dirs, files in os.walk(fileutils.EXTERNAL_PATH):
         dirs.sort(key=lambda d: d.lower())
         if fileutils.METADATA_FILENAME in files:
             # Skip sub directories.
@@ -226,7 +226,7 @@ def parse_args():
         '--json_output',
         help='Path of a json file to write result to.')
     check_parser.add_argument(
-        '--all',
+        '--all', action='store_true',
         help='If set, check updates for all supported projects.')
     check_parser.add_argument(
         '--delay', default=0, type=int,
diff --git a/notifier.py b/notifier.py
index 1e2c7cdc37aed3232943cde2feb24f66c06bd629..f82c5de062c1724a811535bbfc3b949af3c99917 100644
--- a/notifier.py
+++ b/notifier.py
@@ -50,6 +50,9 @@ def parse_args():
     parser.add_argument(
         'paths', nargs='*',
         help='Paths of the project.')
+    parser.add_argument(
+        '--all', action='store_true',
+        help='Checks all projects.')
 
     return parser.parse_args()
 
@@ -155,11 +158,15 @@ def _upgrade(proj):
 
 
 def _check_updates(args):
-    subprocess.run(['out/soong/host/linux-x86/bin/external_updater',
-                    'check',
-                    '--json_output', RESULT_FILE_PATH,
-                    '--delay', '0'] + args.paths,
-                   cwd=os.environ['ANDROID_BUILD_TOP'])
+    params = ['out/soong/host/linux-x86/bin/external_updater',
+              'check', '--json_output', RESULT_FILE_PATH,
+              '--delay', '0']
+    if args.all:
+        params.append('--all')
+    else:
+        params += args.paths
+
+    subprocess.run(params, cwd=os.environ['ANDROID_BUILD_TOP'])
 
 
 def main():