diff --git a/cli/src/katello/client/core/utils.py b/cli/src/katello/client/core/utils.py
index 3df8773..c72fb3a 100644
--- a/cli/src/katello/client/core/utils.py
+++ b/cli/src/katello/client/core/utils.py
@@ -20,6 +20,7 @@ import time
 import threading
 import time
 from katello.client.api.task_status import TaskStatusAPI
+from katello.client.cli.base import KatelloError
 
 # output formatting -----------------------------------------------------------
 
@@ -297,18 +298,21 @@ def parse_tokens(tokenstring):
     @return List of tokens
     """
     tokens = []
-    pattern = '--?\w+|=?"[^"]*"|=?\'[^\']*\'|=?[^\s]+'
+    try:
+        pattern = '--?\w+|=?"[^"]*"|=?\'[^\']*\'|=?[^\s]+'
 
-    print tokenstring
-    for tok in (re.findall(pattern, tokenstring)):
+        print tokenstring
+        for tok in (re.findall(pattern, tokenstring)):
 
-        if tok[0] == '=':
-            tok = tok[1:]
-        if tok[0] == '"' or tok[0] == "'":
-            tok = tok[1:-1]
+            if tok[0] == '=':
+                tok = tok[1:]
+            if tok[0] == '"' or tok[0] == "'":
+                tok = tok[1:-1]
 
-        tokens.append(tok)
-    return tokens
+            tokens.append(tok)
+        return tokens
+    except Exception, e:
+        raise KatelloError("Unable to parse options", e)
 
 
 def get_abs_path(path):
