diff --git a/lib/cli.py b/lib/cli.py
index e9576db0e20513913ba6351b43d1e2fe807a340f..09119fe90fa200a63c4f47ae7ca309496dcd7a3f 100644
--- a/lib/cli.py
+++ b/lib/cli.py
@@ -1928,6 +1928,11 @@ def GenericMain(commands, override=None, aliases=None):
     result, err_msg = FormatError(err)
     logging.exception("Error during command processing")
     ToStderr(err_msg)
+  except KeyboardInterrupt:
+    result = constants.EXIT_FAILURE
+    ToStderr("Aborted. Note that if the operation created any jobs, they"
+             " might have been submitted and"
+             " will continue to run in the background.")
 
   return result