diff --git a/update_engine_client.cc b/update_engine_client.cc
index b7096c5..9d1e093 100644
--- a/update_engine_client.cc
+++ b/update_engine_client.cc
@@ -26,6 +26,7 @@
 #include <base/command_line.h>
 #include <base/logging.h>
 #include <base/macros.h>
+#include <base/strings/string_split.h>
 #include <base/threading/platform_thread.h>
 #include <brillo/daemons/daemon.h>
 #include <brillo/flag_helper.h>
@@ -294,6 +295,8 @@
               "Show the previous OS version used before the update reboot.");
   DEFINE_bool(last_attempt_error, false, "Show the last attempt error.");
   DEFINE_bool(eol_status, false, "Show the current end-of-life status.");
+  DEFINE_bool(install, false, "Requests an install.");
+  DEFINE_string(dlc_ids, "", "colon-separated list of DLC IDs.");
 
   // Boilerplate init commands.
   base::CommandLine::Init(argc_, argv_);
@@ -477,6 +480,28 @@
     }
   }
 
+  if (FLAGS_install) {
+    // Parse DLC IDs.
+    vector<string> dlc_ids;
+    if (!FLAGS_dlc_ids.empty()) {
+      dlc_ids = base::SplitString(
+          FLAGS_dlc_ids, ":", base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL);
+    }
+    if (dlc_ids.empty()) {
+      LOG(ERROR) << "dlc_ids is empty:" << FLAGS_dlc_ids;
+      return 1;
+    }
+    if (!client_->AttemptInstall(FLAGS_omaha_url, dlc_ids)) {
+      LOG(ERROR) << "AttemptInstall failed.";
+      return 1;
+    }
+    return 0;
+  } else if (!FLAGS_dlc_ids.empty()) {
+    LOG(ERROR) << "dlc_ids is not empty while install is not set:"
+               << FLAGS_dlc_ids;
+    return 1;
+  }
+
   // Initiate an update check, if necessary.
   if (do_update_request) {
     LOG_IF(WARNING, FLAGS_reboot) << "-reboot flag ignored.";
