diff --git a/src/rc_gpfs/cli/convert_flat_to_hive.py b/src/rc_gpfs/cli/convert_flat_to_hive.py
index 0fe64634dcc47dde28327efd60c8c8942754506e..678646e3d34bb5d2b517344ff36b328b54b69203 100644
--- a/src/rc_gpfs/cli/convert_flat_to_hive.py
+++ b/src/rc_gpfs/cli/convert_flat_to_hive.py
@@ -96,7 +96,10 @@ def submit_batch(**kwargs):
         # delay should fix that
         time.sleep(random.uniform(1,5))
 
-        subprocess.run(['sbatch'],input=script,shell=True,text=True)
+        try:
+            subprocess.run(['sbatch'],input=script,shell=True,text=True,check=True,capture_output=True)
+        except subprocess.CalledProcessError as e:
+            raise subprocess.CalledProcessError(e.stderr.decode())
     pass
 
 def submit_tld_groups(df,grp_dir,args):
diff --git a/src/rc_gpfs/cli/convert_to_parquet.py b/src/rc_gpfs/cli/convert_to_parquet.py
index ac84448023782b1752affaaa69aac0dfdafd423c..5c94df4e0f5a09cacfe347c18e3395699a36c13b 100644
--- a/src/rc_gpfs/cli/convert_to_parquet.py
+++ b/src/rc_gpfs/cli/convert_to_parquet.py
@@ -80,7 +80,10 @@ def submit_batch(**kwargs):
     # fix that
     time.sleep(random.uniform(1, 5))
 
-    subprocess.run(['sbatch'],input=script,shell=True,text=True)
+    try:
+        subprocess.run(['sbatch'],input=script,shell=True,text=True,check=True,capture_output=True)
+    except subprocess.CalledProcessError as e:
+        raise subprocess.CalledProcessError(e.stderr.decode())
     pass
 
 def _find_sequential_indexes(idxs):
diff --git a/src/rc_gpfs/cli/split_log.py b/src/rc_gpfs/cli/split_log.py
index 44c8461365465ba6bc529eb2f4642a29f2df1fa7..a535893eae316f63a676bb230ecc1a2e8d3b2b7d 100644
--- a/src/rc_gpfs/cli/split_log.py
+++ b/src/rc_gpfs/cli/split_log.py
@@ -51,7 +51,10 @@ def submit_batch(**kwargs):
 
     script = BATCH_SCRIPT.format(**kwargs)
 
-    subprocess.run(['sbatch'],input=script,shell=True,text=True)
+    try:
+        subprocess.run(['sbatch'],input=script,shell=True,text=True,check=True,capture_output=True)
+    except subprocess.CalledProcessError as e:
+        raise subprocess.CalledProcessError(e.stderr.decode())
     pass
 
 def split_log():