diff --git a/claudetool/onstart/analyze.go b/claudetool/onstart/analyze.go
index 7ffade0..e63b380 100644
--- a/claudetool/onstart/analyze.go
+++ b/claudetool/onstart/analyze.go
@@ -3,6 +3,7 @@
 
 import (
 	"bufio"
+	"bytes"
 	"cmp"
 	"context"
 	"fmt"
@@ -41,7 +42,7 @@
 	// TODO: do a filesystem walk instead?
 	// There's a balance: git ls-files skips node_modules etc,
 	// but some guidance files might be locally .gitignored.
-	cmd := exec.Command("git", "ls-files")
+	cmd := exec.Command("git", "ls-files", "-z")
 	cmd.Dir = repoPath
 
 	r, w := io.Pipe() // stream and scan rather than buffer
@@ -66,6 +67,7 @@
 		defer r.Close()
 
 		scanner := bufio.NewScanner(r)
+		scanner.Split(scanZero)
 		for scanner.Scan() {
 			file := scanner.Text()
 			file = strings.TrimSpace(file)
@@ -208,3 +210,19 @@
 
 	return result
 }
+
+func scanZero(data []byte, atEOF bool) (advance int, token []byte, err error) {
+	if atEOF && len(data) == 0 {
+		return 0, nil, nil
+	}
+	if i := bytes.IndexByte(data, 0); i >= 0 {
+		// We have a full NUL line.
+		return i + 1, data[0:i], nil
+	}
+	// If we're at EOF, we have a final, non-terminated line. Return it.
+	if atEOF {
+		return len(data), data, nil
+	}
+	// Request more data.
+	return 0, nil, nil
+}
