diff --git a/reclass_tools/cli.py b/reclass_tools/cli.py
index cf718c8..b46f542 100644
--- a/reclass_tools/cli.py
+++ b/reclass_tools/cli.py
@@ -26,6 +26,9 @@
         self.args = args
         self.params = self.get_params()
 
+    def str2bool(self, v):
+        return v.lower() in ("true")
+
     def execute(self):
         command_name = 'do_{}'.format(self.params.command.replace('-', '_'))
         command_method = getattr(self, command_name)
@@ -55,6 +58,16 @@
             verbose=self.params.verbose,
             merge=self.params.merge)
 
+    def do_add_bool_key(self):
+        add_val = self.str2bool(self.params.add_value)
+
+        walk_models.add_reclass_parameter(
+            self.params.path,
+            self.params.key_name,
+            add_val,
+            verbose=self.params.verbose,
+            merge=self.params.merge)
+
     def do_del_key(self):
         walk_models.remove_reclass_parameter(
             self.params.path,
@@ -232,9 +245,19 @@
                               parents=[key_parser, add_value_parser,
                                        path_parser, verbose_parser,
                                        merge_parser],
-                              help="Find a key in YAMLs found in <path>",
-                              description=("Get a key collected from "
+                              help="Add a key in YAMLs found in <path>",
+                              description=("Add a key to "
                                            "different YAMLs"))
+
+        subparsers.add_parser('add-bool-key',
+                              parents=[key_parser, add_value_parser,
+                                       path_parser, verbose_parser,
+                                       merge_parser],
+                              help="Add a bool key in YAMLs found in <path>. "
+                                   "True/False string values are converted to bool",
+                              description=("Add a bool key collected to "
+                                           "different YAMLs"))
+
         subparsers.add_parser('del-key',
                               parents=[key_parser, path_parser,
                                        verbose_parser],
