title: Terraform interactive input doesn't work with the root module
body: <h3>Terraform Version</h3>
  <pre><code>Terraform v1.1.2
  on windows_amd64
  </code></pre>
  <h3>Terraform Configuration Files</h3>
  <p><strong>child_module1.tf(C1):</strong></p>
  <pre><code># Create Resource Group
  resource &quot;aws_resourcegroups_group&quot; &quot;resourcegroups_group&quot; {
    name = &quot;test&quot;
  
    resource_query {
      query = &lt;&lt;JSON
  {
    &quot;ResourceTypeFilters&quot;: [
      &quot;AWS::EC2::Instance&quot;
    ],
    &quot;TagFilters&quot;: [
      {
        &quot;Key&quot;: &quot;project&quot;,
        &quot;Values&quot;: [&quot;${var.ProjectName}&quot;]
      }
    ]
  }
  JSON
    }
  }
  </code></pre>
  <p><strong>child_module1_variables.tf:</strong></p>
  <pre><code>########
  variable &quot;ProjectName&quot; {
    type = string
    description = &quot;This name would be prefixed with the cluster names.&quot;
  }
  </code></pre>
  <p>Now call this child module in another child module**(C2)**:
  <strong>child_module2.tf:</strong></p>
  <pre><code>module &quot;prepare_aws_cloud&quot; {
        source                        = &quot;./modules/aws/prepare_cloud_copy&quot;
        ProjectName                   = &quot;${var.test.ProjectName}&quot;
  }
  </code></pre>
  <p><strong>child_module2_variables.tf:</strong></p>
  <pre><code>variable &quot;test&quot; {
    type = object({
      ProjectName                 = string
    })
  }
  </code></pre>
  <p><strong>Now I create a root module</strong>(R1)** which calls the child_module2.tf:**</p>
  <pre><code> terraform {
    backend &quot;local&quot; {
     }
   }
   module &quot;test_deploy&quot; {
     source = &quot;D:\\REPO\\installer_v2.2.22.1\\installer\\aws&quot;
  
     
  test = {
      #ProjectName                 = &quot;&quot;
  }
  
   }
  </code></pre>
  <p>So the dependency is as follows:
  R1 calls &gt;&gt; C2 calls &gt;&gt; C1</p>
  <h3>ERROR</h3>
  <pre><code>PS D:\tkgTest&gt; terraform apply -input=true
  ╷
  │ Error: Invalid value for module argument
  │
  │   on testing.tf line 21, in module &quot;test_deploy&quot;:
  │   21: test= {
  │   22:     #ProjectName                 = &quot;&quot;
  │   23: }
  │
  │ The given value is not suitable for child module variable &quot;test&quot; defined at .terraform\modules\test_deploy\variables.tf:108,1-15: attribute &quot;ProjectName&quot; is required.
  </code></pre>
  <h3>Expected Behavior</h3>
  
  <p>I would have expected that the user input would be taken interactively by the console as I am passing the <code>-input=true</code> flag but it doesn't seem to work.</p>