diff --git a/src/simudator/gui/module_graphics_item/module_graphics_item.py b/src/simudator/gui/module_graphics_item/module_graphics_item.py
index 320ae760e0371dcfdf35560097006fd9feec0d06..172f5d4e3d74682db7c8b84647b574c99da98cd1 100644
--- a/src/simudator/gui/module_graphics_item/module_graphics_item.py
+++ b/src/simudator/gui/module_graphics_item/module_graphics_item.py
@@ -183,12 +183,27 @@ class ModuleGraphicsItem(QGraphicsObject, QGraphicsItem):
         """
         try:
             parsed_value = ast.literal_eval(value)
+
+            # ast.literal_eval only raises an error the the
+            # parsed value isn't a valid data type.
+            # If the user edits GRX and enters a string "a"
+            # it will crash
+
+            if isinstance(parsed_value, list):
+                for value in parsed_value:
+                    if isinstance(value, str):
+                        raise TypeError
+
         except SyntaxError as e:
             self.errorMessageWidget.showMessage(str(e))
         except ValueError as e:
             self.errorMessageWidget.showMessage(
                 "Value Error. Unable to parse input. Make sure it is in the correct base."
             )
+        except TypeError as e:
+            self.errorMessageWidget.showMessage(
+                "Type Error. Unable to parse input. Make sure it is the correct type."
+            )
         else:
             module_state = self.module.get_state()
             module_state[state] = parsed_value