diff --git a/platypush/plugins/__init__.py b/platypush/plugins/__init__.py
index b0090f60b..b53308653 100644
--- a/platypush/plugins/__init__.py
+++ b/platypush/plugins/__init__.py
@@ -32,7 +32,10 @@ def action(f: Callable[..., Any]) -> Callable[..., Response]:
         response = Response()
         try:
             result = f(*args, **kwargs)
-        except TypeError as e:
+        except Exception as e:
+            if isinstance(e, KeyboardInterrupt):
+                return response
+
             _logger.exception(e)
             result = Response(errors=[str(e)])