TL;DR: A unit you deleted is still referenced by a `dependency` block in a live unit. `run --all` crashes on the dangling reference while `find`/`list` silently skip it and look healthy. Remove or update the stale `dependency` block (or restore the unit), then re-run.

```text
ERROR You attempted to run terragrunt in a folder that does not contain a terragrunt.hcl file. Please add a terragrunt.hcl file and try again.

Path: "[repo]/dep/terragrunt.hcl"
```

## Steps

1. Note the Path in the error: that's the DELETED dependency's directory, not the broken unit.
   Expected: the path doesn't exist on disk.
2. Find who still points at it: `grep -rn 'config_path.*dep' --include=terragrunt.hcl --include=root.hcl --include=terragrunt.stack.hcl .` (adjust the name).
   Expected: one or more live units with a `dependency` block aimed at the deleted dir.
3. Fix each stale reference: delete the `dependency` block if nothing needs it, point it at the replacement unit, or restore the deleted unit's directory.
   Expected: no references to missing directories remain.
4. Re-run `terragrunt run --all` with the same filter.
   Expected: relationship resolution succeeds; the crash is gone.

## When this applies

- `run --all` crashes with this error right after a diff that deleted a unit directory.
- `terragrunt find` / `terragrunt list` with the same filter report no problems.

## When it doesn't apply

- Running a single unit in a directory that genuinely has no `terragrunt.hcl`: just add the file.
- The path exists but fails to parse: that's a config error, not a deletion.

## Tool versions

Terragrunt 1.x (reported on 1.1.1).

## Why it happens

`find`/`list` use parse-error suppression internally, so an unresolvable dependency is quietly dropped from their output. `run --all`'s relationship-resolution phase does not suppress the same error and hard-fails the entire invocation instead of skipping the broken edge.

## Edge cases

- Don't "fix" this by re-creating an empty directory at the path: an empty `terragrunt.hcl` there changes the dependency graph silently. Fix the reference instead.
- In CI, run the pre-flight `find` AND a `run --all plan` on the merge commit, not just the diff range, so deleted-unit references surface before they crash the real run.