diff --git a/man/updatectl.xml b/man/updatectl.xml
index c7b0dbd309..a6da35b52f 100644
--- a/man/updatectl.xml
+++ b/man/updatectl.xml
@@ -119,6 +119,7 @@
+
diff --git a/src/sysupdate/updatectl.c b/src/sysupdate/updatectl.c
index cf574a86e9..bafc41c6ae 100644
--- a/src/sysupdate/updatectl.c
+++ b/src/sysupdate/updatectl.c
@@ -35,6 +35,7 @@ static bool arg_legend = true;
static bool arg_reboot = false;
static bool arg_offline = false;
static bool arg_now = false;
+static bool arg_ask_password = true;
static BusTransport arg_transport = BUS_TRANSPORT_LOCAL;
static const char *arg_host = NULL;
@@ -1723,6 +1724,10 @@ static int parse_argv(int argc, char *argv[], char ***ret_args) {
OPTION_GROUP("Verbs"): {}
+ OPTION_COMMON_NO_ASK_PASSWORD:
+ arg_ask_password = false;
+ break;
+
OPTION_COMMON_HELP:
return help();
@@ -1755,7 +1760,7 @@ static int run(int argc, char *argv[]) {
if (arg_transport == BUS_TRANSPORT_LOCAL)
polkit_agent_open();
- (void) sd_bus_set_allow_interactive_authorization(bus, true);
+ (void) sd_bus_set_allow_interactive_authorization(bus, arg_ask_password);
return dispatch_verb(args, bus);
}