Repository: gruntwork-io/terragrunt (language: go)

Issue:
Terragrunt destroy ask me to apply each modules of my tree
**Describe the bug**
When i run `terragrunt destroy` on a specific module it ask me to apply each external dependency since Terragrunt `0.51.9`, reproductible version `0.52.0`.
It ask to apply external modules, not linked to my main module where i try to destroy.

![image](https://github.com/gruntwork-io/terragrunt/assets/20766555/2dc4ccf6-c118-41d1-9af0-28be86716977)

**To Reproduce**
Run this command : 
```bash
 terragrunt destroy
```

Here is config of specific module : 

```hcl
terraform {
  source = "git::ssh://git@somesource//mymodule?ref=mytag"
}

include {
  path = find_in_parent_folders()
}

locals {
  common_vars = merge(
    yamldecode(
      file("${find_in_parent_folders("common.yaml")}"),
    )
  )
}

inputs = {
  mydepoutput= dependency.mydep.outputs.myoutput
}

dependency "mydep" {
  config_path = "../mydep"
}

```


**Expected behavior**
When i run a `terragrunt destroy` don't ask me to apply other modules of IaC.

**Versions**
- Terragrunt version: `0.51.9`
- Terraform version: `1.5.7`
- Environment details (Ubuntu 20.04, Windows 10, etc.): Windows 11 - WSL2 - `Ubuntu 22.04.3 LTS` 
Tried on Debian 12 on other machine (Win11 WSL2 too)

**Additional context**
Looks like it try to apply all modules of IaC


Discussion / hints:
me too

Fix patch:
diff --git a/configstack/module.go b/configstack/module.go
index 56eae441de..35536cafb8 100644
--- a/configstack/module.go
+++ b/configstack/module.go
@@ -563,6 +563,8 @@ func FindWhereWorkingDirIsIncluded(terragruntOptions *options.TerragruntOptions,
 		cfgOptions.Env = terragruntOptions.Env
 		cfgOptions.LogLevel = terragruntOptions.LogLevel
 		cfgOptions.OriginalTerragruntConfigPath = terragruntOptions.OriginalTerragruntConfigPath
+		cfgOptions.TerraformCommand = terragruntOptions.TerraformCommand
+		cfgOptions.NonInteractive = true
 
 		var hook = NewForceLogLevelHook(logrus.DebugLevel)
 		cfgOptions.Logger.Logger.AddHook(hook)


Test patch:
diff --git a/test/fixture-external-dependency/main.tf b/test/fixture-external-dependency/main.tf
new file mode 100644
index 0000000000..3e9dd964ee
--- /dev/null
+++ b/test/fixture-external-dependency/main.tf
@@ -0,0 +1,3 @@
+output "value" {
+  value = "dep1"
+}
diff --git a/test/fixture-external-dependency/terragrunt.hcl b/test/fixture-external-dependency/terragrunt.hcl
new file mode 100644
index 0000000000..edaffddbc1
--- /dev/null
+++ b/test/fixture-external-dependency/terragrunt.hcl
@@ -0,0 +1,3 @@
+dependencies {
+  paths = ["/tmp/external-46521694"]
+}
diff --git a/test/integration_test.go b/test/integration_test.go
index 02544c8551..fc3e2fe87e 100644
--- a/test/integration_test.go
+++ b/test/integration_test.go
@@ -173,6 +173,7 @@ const (
 	TEST_FIXTURE_NO_SUBMODULES                                               = "fixture-no-submodules/"
 	TEST_FIXTURE_DISABLED_MODULE                                             = "fixture-disabled/"
 	TEST_FIXTURE_EMPTY_STATE                                                 = "fixture-empty-state/"
+	TEST_FIXTURE_EXTERNAL_DEPENDENCY                                         = "fixture-external-dependency/"
 	TERRAFORM_BINARY                                                         = "terraform"
 	TOFU_BINARY                                                              = "tofu"
 	TERRAFORM_FOLDER                                                         = ".terraform"
@@ -6184,6 +6185,46 @@ func TestRenderJsonDependentModulesMetadataTerraform(t *testing.T) {
 	assert.Contains(t, dependentModules, util.JoinPath(tmpEnvPath, TEST_FIXTURE_DESTROY_WARNING, "app-v2"))
 }
 
+func TestTerragruntSkipConfirmExternalDependencies(t *testing.T) {
+	t.Parallel()
+
+	tmpEnvPath := copyEnvironment(t, TEST_FIXTURE_EXTERNAL_DEPENDENCY)
+	cleanupTerraformFolder(t, tmpEnvPath)
+	testPath := util.JoinPath(tmpEnvPath, TEST_FIXTURE_EXTERNAL_DEPENDENCY)
+
+	assert.NoError(t, os.Mkdir(filepath.ToSlash("/tmp/external-46521694"), 0755))
+
+	output, err := exec.Command("git", "init", tmpEnvPath).CombinedOutput()
+	if err != nil {
+		t.Fatalf("Error initializing git repo: %v\n%s", err, string(output))
+	}
+
+	stdout := bytes.Buffer{}
+	stderr := bytes.Buffer{}
+
+	r, w, _ := os.Pipe()
+	oldStdout := os.Stderr
+	os.Stderr = w
+
+	err = runTerragruntCommand(t, fmt.Sprintf("trragrunt destroy --terragrunt-working-dir %s", testPath), &stdout, &stderr)
+	os.Stderr = oldStdout
+	assert.NoError(t, w.Close())
+
+	capturedOutput := make(chan string)
+	go func() {
+		var buf bytes.Buffer
+		_, e := io.Copy(&buf, r)
+		assert.NoError(t, e)
+		capturedOutput <- buf.String()
+	}()
+
+	captured := <-capturedOutput
+
+	require.NoError(t, err)
+	require.NotContains(t, captured, "Should Terragrunt apply the external dependency?")
+	require.NotContains(t, captured, "/tmp/external1")
+}
+
 func validateOutput(t *testing.T, outputs map[string]TerraformOutput, key string, value interface{}) {
 	t.Helper()
 	output, hasPlatform := outputs[key]