diff --git a/flytekit-local-engine/src/main/java/org/flyte/localengine/LocalEngine.java b/flytekit-local-engine/src/main/java/org/flyte/localengine/LocalEngine.java
index 86cb6b9a..6aa4e2ef 100644
--- a/flytekit-local-engine/src/main/java/org/flyte/localengine/LocalEngine.java
+++ b/flytekit-local-engine/src/main/java/org/flyte/localengine/LocalEngine.java
@@ -102,7 +102,9 @@ private Map<String, Literal> execute(
     Map<String, Literal> previous = nodeOutputs.put(executionNode.nodeId(), outputs);
 
     if (previous != null) {
-      throw new IllegalStateException("invariant failed");
+      throw new IllegalStateException(
+          String.format(
+              "invariant failed: node with same %s has already ran", executionNode.nodeId()));
     }
 
     executionListener.completed(executionNode, inputs, outputs);