diff --git a/__test__/git-auth-helper.test.ts b/__test__/git-auth-helper.test.ts
index 2acec38..b18dfa7 100644
--- a/__test__/git-auth-helper.test.ts
+++ b/__test__/git-auth-helper.test.ts
@@ -482,6 +482,7 @@ describe('git-auth-helper tests', () => {
       )
       settings.persistCredentials = false
       settings.sshKey = ''
+      settings.submodules = true
       const authHelper = gitAuthHelper.createAuthHelper(git, settings)
       await authHelper.configureAuth()
       const mockSubmoduleForeach = git.submoduleForeach as jest.Mock<any, any>
@@ -515,6 +516,7 @@ describe('git-auth-helper tests', () => {
         configureSubmoduleAuth_configuresSubmodulesWhenPersistCredentialsFalseAndSshKeySet
       )
       settings.persistCredentials = false
+      settings.submodules = true
       const authHelper = gitAuthHelper.createAuthHelper(git, settings)
       await authHelper.configureAuth()
       const mockSubmoduleForeach = git.submoduleForeach as jest.Mock<any, any>
@@ -541,6 +543,7 @@ describe('git-auth-helper tests', () => {
         configureSubmoduleAuth_configuresSubmodulesWhenPersistCredentialsTrueAndSshKeyNotSet
       )
       settings.sshKey = ''
+      settings.submodules = true
       const authHelper = gitAuthHelper.createAuthHelper(git, settings)
       await authHelper.configureAuth()
       const mockSubmoduleForeach = git.submoduleForeach as jest.Mock<any, any>
@@ -580,6 +583,7 @@ describe('git-auth-helper tests', () => {
       await setup(
         configureSubmoduleAuth_configuresSubmodulesWhenPersistCredentialsTrueAndSshKeySet
       )
+      settings.submodules = true
       const authHelper = gitAuthHelper.createAuthHelper(git, settings)
       await authHelper.configureAuth()
       const mockSubmoduleForeach = git.submoduleForeach as jest.Mock<any, any>
diff --git a/dist/index.js b/dist/index.js
index 63072b8..84b4562 100644
--- a/dist/index.js
+++ b/dist/index.js
@@ -7287,8 +7287,10 @@ class GitAuthHelper {
                     core.warning(`Failed to remove '${configKey}' from the git config`);
                 }
             }
-            const pattern = regexpHelper.escape(configKey);
-            yield this.git.submoduleForeach(`git config --local --name-only --get-regexp '${pattern}' && git config --local --unset-all '${configKey}' || :`, true);
+            if (this.settings.submodules) {
+                const pattern = regexpHelper.escape(configKey);
+                yield this.git.submoduleForeach(`git config --local --name-only --get-regexp '${pattern}' && git config --local --unset-all '${configKey}' || :`, true);
+            }
         });
     }
 }
diff --git a/src/git-auth-helper.ts b/src/git-auth-helper.ts
index 3c6db8e..fce70f5 100644
--- a/src/git-auth-helper.ts
+++ b/src/git-auth-helper.ts
@@ -363,10 +363,12 @@ class GitAuthHelper {
       }
     }
 
-    const pattern = regexpHelper.escape(configKey)
-    await this.git.submoduleForeach(
-      `git config --local --name-only --get-regexp '${pattern}' && git config --local --unset-all '${configKey}' || :`,
-      true
-    )
+    if (this.settings.submodules) {
+      const pattern = regexpHelper.escape(configKey)
+      await this.git.submoduleForeach(
+        `git config --local --name-only --get-regexp '${pattern}' && git config --local --unset-all '${configKey}' || :`,
+        true
+      )
+    }
   }
 }