diff --git a/internal/git/git.go b/internal/git/git.go
--- a/internal/git/git.go
+++ b/internal/git/git.go
@@ -73,7 +73,19 @@ func copyDir(src, dest string) error {
 		srcPath := filepath.Join(src, entry.Name())
 		destPath := filepath.Join(dest, entry.Name())
 
-		if entry.IsDir() {
+		// Handle symlinks (recreate them, do not follow)
+		if entry.Type()&os.ModeSymlink != 0 {
+			linkTarget, err := os.Readlink(srcPath)
+			if err != nil {
+				return err
+			}
+			if err := os.Symlink(linkTarget, destPath); err != nil {
+				return err
+			}
+			continue
+		}
+
+		if entry.IsDir() {
 			if err := copyDir(srcPath, destPath); err != nil {
 				return err
 			}

