diff --git a/apps/app-runner/main.go b/apps/app-runner/main.go
index ee2476a..ca99831 100644
--- a/apps/app-runner/main.go
+++ b/apps/app-runner/main.go
@@ -28,7 +28,7 @@
 }
 
 func CloneRepository(addr string, signer ssh.Signer, path string) error {
-	_, err := git.Clone(memory.NewStorage(), osfs.New(path, osfs.WithBoundOS()), &git.CloneOptions{
+	c, err := git.Clone(memory.NewStorage(), osfs.New(path, osfs.WithBoundOS()), &git.CloneOptions{
 		URL: addr,
 		Auth: &gitssh.PublicKeys{
 			User:   "git",
@@ -41,13 +41,32 @@
 				},
 			},
 		},
-		RemoteName:        "origin",
-		ReferenceName:     "refs/heads/master",
-		Depth:             1,
-		RecurseSubmodules: git.DefaultSubmoduleRecursionDepth,
-		ShallowSubmodules: true,
-		InsecureSkipTLS:   true,
+		RemoteName:      "origin",
+		ReferenceName:   "refs/heads/master",
+		SingleBranch:    true,
+		Depth:           1,
+		InsecureSkipTLS: true,
+		Progress:        os.Stdout,
 	})
+	if err != nil {
+		return err
+	}
+	wt, err := c.Worktree()
+	if err != nil {
+		return err
+	}
+	sb, err := wt.Submodules()
+	if err != nil {
+		return err
+	}
+	if err := sb.Init(); err != nil {
+		return err
+	}
+	if err := sb.Update(&git.SubmoduleUpdateOptions{
+		Depth: 1,
+	}); err != nil {
+		return err
+	}
 	return err
 }
 
diff --git a/core/installer/soft/client.go b/core/installer/soft/client.go
index 08103be..1c93666 100644
--- a/core/installer/soft/client.go
+++ b/core/installer/soft/client.go
@@ -205,6 +205,7 @@
 		},
 		RemoteName:      "origin",
 		ReferenceName:   "refs/heads/master",
+		SingleBranch:    true,
 		Depth:           1,
 		InsecureSkipTLS: true,
 		Progress:        os.Stdout,
@@ -212,6 +213,22 @@
 	if err != nil && !errors.Is(err, transport.ErrEmptyRemoteRepository) {
 		return nil, err
 	}
+	wt, err := c.Worktree()
+	if err != nil {
+		return nil, err
+	}
+	sb, err := wt.Submodules()
+	if err != nil {
+		return nil, err
+	}
+	if err := sb.Init(); err != nil {
+		return nil, err
+	}
+	if err := sb.Update(&git.SubmoduleUpdateOptions{
+		Depth: 1,
+	}); err != nil {
+		return nil, err
+	}
 	return &Repository{
 		Repository: c,
 		Addr:       addr,
diff --git a/core/installer/soft/repoio.go b/core/installer/soft/repoio.go
index 6df9dcd..7df75dc 100644
--- a/core/installer/soft/repoio.go
+++ b/core/installer/soft/repoio.go
@@ -172,7 +172,7 @@
 		return nil
 	}
 	// TODO(gio): check `remote repository is empty`
-	fmt.Println(err)
+	fmt.Printf("-- GIT PULL: %s\n", err.Error())
 	return nil
 }
 
