TL;DR: Terragrunt 1.0 redesigned the CLI: `run-all` became `run --all`. Your old command isn't forwarded anymore. Insert `run --` between `terragrunt` and the subcommand.

```text
Error: unknown command "run-all" for "terragrunt"
```

## Steps

1. Rewrite the command: `terragrunt run-all plan` becomes `terragrunt run --all plan`.
   Expected: the command is recognized.
2. Update scripts, aliases, CI workflows, and docs that use the old form. The other renames: `terragrunt run -- plan` for a single unit, `terragrunt find` / `terragrunt list` for discovery, `terragrunt backend` for backend ops.
   Expected: no `run-all` (or `runall`) invocations remain.
3. Re-run.
   Expected: normal output.

## When this applies

- `unknown command "run-all"` (or `"runall"`) on Terragrunt 1.0+.
- Any automation written against the pre-1.0 CLI.

## When it doesn't apply

- `unknown command: "clear-cache"`: also removed in 1.0, but the fix is different (delete `.terragrunt-cache` yourself; there is no replacement command).
- A typo'd subcommand on current syntax: check `terragrunt --help`.

## Tool versions

Terragrunt 1.0+ (redesign shipped 2026-03-30 with stacks GA and the semver guarantee).

## Why it happens

1.0 replaced the old flat command set (which forwarded unknown commands to terraform) with an explicit `run` verb: `terragrunt run -- [tofu|terraform subcommand]`, `terragrunt run --all [subcommand]`. Unknown commands are no longer forwarded by default, so the old spellings hard-fail instead of passing through.

## Edge cases

- `--terragrunt-*` flags became `run --[flag] --` or top-level flags; check the 1.x flag reference when migrating scripts, not just the command name.
- Pinning `terragrunt_version` < 1.0 avoids the migration but forfeits stacks GA and later fixes; migrate instead.