diff --git a/Makefile b/Makefile
index aac6952f0546c3a76745cb572618c8a677155bab..79b06bb65324bb2d792ecfb2fb5cdb24ef32fa23 100644
--- a/Makefile
+++ b/Makefile
@@ -9,6 +9,7 @@ fmt:
 	cargo fmt --all
 
 check:
+	nu scripts/check-nushell-files.nu
 	cargo check --workspace --all-targets
 	cargo check --workspace --all-targets --features kzg
 	cargo check --workspace --all-targets --features aplonk
diff --git a/scripts/check-nushell-files.nu b/scripts/check-nushell-files.nu
new file mode 100644
index 0000000000000000000000000000000000000000..024c6554f8763b049fba0446cf27edd23bb36aa7
--- /dev/null
+++ b/scripts/check-nushell-files.nu
@@ -0,0 +1,22 @@
+let files = ^git lf | lines | where { ($in | path parse).extension == "nu" }
+
+for f in $files {
+    let path = $env.FILE_PWD | path dirname | path join $f
+
+    try {
+        nu-check $path --debug
+    } catch { |e|
+        let err = $e.debug
+            | ansi strip
+            | parse --regex '(.*)msg: "Found : (?<msg>.*)", span: (?<span>.*)'
+            | into record
+
+        error make --unspanned {
+            msg: ([
+                $"(ansi red_bold)($e.msg)(ansi reset):",
+                $"    file: (ansi purple)($f)(ansi reset)",
+                $"    err:  ($err.msg)",
+            ] | str join "\n")
+        }
+    }
+}