When terragrunt is relaying information to input variables it's happening via environment variables. Depending on the size of the content of the variable it might exceed your OS limits. This is independent of your shell.
A possible workaround is to use a generated file to load the input instead of the env variable, e.g.
# WORKAROUND
# the variable my_huge_input cannot be loaded as part of the inputs
generate "dependencies" {
path = "dependencies.auto.tfvars"
if_exists = "overwrite_terragrunt"
contents = <<EOF
my_input = ${jsonencode(dependency.my_huge_input)}
EOF
}
See the following issue for further discussion Show archive.org snapshot .