diff --git a/run-exp.py b/run-exp.py
index 4f3a5f9406c546cf337b503e6e91f8b67d781748..c1c131237e333ad9fae1f8acc3cddf7bf9325e77 100755
--- a/run-exp.py
+++ b/run-exp.py
@@ -103,7 +103,17 @@ class Task:
         # print(" ".join(args))
         # print("popd")
 
-        subprocess.run(" ".join(args), shell = True, cwd = self._work_dir)
+        try:
+            subprocess.run(
+                " ".join(args),
+                shell = True,
+                cwd = self._work_dir,
+                timeout = 3600,  # FIXME
+            )
+        except subprocess.TimeoutExpired:
+            print()
+            print("Task timed out!")
+            print()
 
     @classmethod
     def from_dict(cls, data):