Terragrunt "read_terragrunt_config" file not found in CI
The read_terragrunt_config() function loads another Terragrunt config to reuse its locals or inputs. It failed because the path it was given does not exist on the runner, or the target file itself has a parse error.
What this error means
terragrunt fails while evaluating read_terragrunt_config(...) with a file-not-found or parse error naming the config path you passed.
ERRO[0000] Error: Error in function call
on terragrunt.hcl line 3, in locals:
3: common = read_terragrunt_config(find_in_parent_folders("common.hcl"))
Call to function "read_terragrunt_config" failed: could not find common.hcl in any parent folder.Common causes
The referenced config file is not present
The path (often via find_in_parent_folders()) points at a file that a partial checkout excluded or that does not exist in the tree.
The target config has its own error
The file exists but fails to parse or references something undefined, so reading it propagates the failure.
How to fix it
Confirm the config path exists on the runner
- List the parent folders to verify the target file is checked out.
- Fix the filename passed to
find_in_parent_folders()if it differs. - Re-run once the file is reachable.
locals {
common = read_terragrunt_config(find_in_parent_folders("common.hcl"))
}Validate the target config separately
Run hclvalidate in the referenced config directory to surface its own parse error.
terragrunt hclvalidate --terragrunt-working-dir path/to/configHow to prevent it
- Use full checkouts so referenced parent configs are always present.
- Keep shared config filenames stable across the repo.
- Validate configs in CI before they are read by other modules.