Terragrunt CAS `mutable` attribute for editable fetched sources
Introduced 2026-05-18 · score 0.94
HOW TO USE IT
When a source is fetched through CAS and you need to edit its materialized files, set `mutable = true` in the applicable `terraform`, `unit`, or `stack` block. This copies files into the block’s working directory instead of hardlinking them from CAS.
terraform {
source = "git::https://github.com/acme/infrastructure-modules.git//vpc?ref=v1.0.0"
mutable = true
}WHY THIS HELPS
When you need to edit source files materialized through CAS, configure the applicable block as mutable.
REQUIREMENTS AND LIMITATIONS
- Version: v1.0.5
- mutable: Boolean on `terraform`, `unit`, or `stack`; `true` copies CAS-fetched files so they are editable. Defaults to `false`, which hardlinks files and marks them read-only.
- Prerequisite: The source must be fetched through CAS; `mutable` has no effect with the standard download path.
- The default is `false`; files are materialized read-only so an accidental edit cannot reach back into the shared CAS store.
- The attribute is orthogonal to `update_source_with_cas`.
- The attribute has no effect when content is fetched through the standard download path, which already produces an independent copy.
FIRST-PARTY EVIDENCE
Check the installed version and the source before using it. Entry JSON