fh update
Safely update versioned managed recipes while preserving project changes.
fh update <alias> [options]
fh update <kind> <name> [options]fh update plans every managed-file and dependency change before it writes. Recipe markers identify
the installed version. Compatible project dependency ranges remain unchanged; incompatible ranges
and modified managed files are reported as conflicts.
Review an update
fh update channel slack --dry-run
fh update slack --dry-run
fh update channel slack --jsonHuman output is intended for terminal review. JSON output contains the recipe version, package manager, file actions, dependency actions, upgrade notes, and conflicts without embedding generated file contents. Both outputs include the package-manager-specific verification command.
Apply an update
fh update channel slack
fh update database postgres --no-installFabric checks the entire plan first. It then installs missing compatible dependencies and applies managed file/environment changes as one file transaction. If a file write fails, previously written files are restored.
An unmarked file can be adopted automatically only when it exactly matches the previous generated content. A marked file with user changes is never replaced automatically:
Recipe channel:slack has conflicts:
- .fabricharness/channels/slack.ts: user-modified managed file at version 1Review and merge the new recipe manually, or use --force when replacement is intentional.
Options
| Flag | Description |
|---|---|
--dir <path> | Project containing the managed recipe. |
--dry-run | Print the complete plan without writing or installing. |
--json | Emit a machine-readable plan. |
--no-install | Update package.json without running the package manager. |
--force | Replace conflicting managed files after review. |
Guarantees
- Unknown or incompatible dependency ranges fail before recipe files change.
- A recipe never silently downgrades a newer managed version.
- Existing user files without a matching recipe marker are preserved.
- Missing files from an installed recipe can be recreated.
- Running an update twice is idempotent.
See Connector recipes for recipe ownership and authoring conventions.