OpenTofu v1.10.10 - Two Bug Fixes for Caching and Import Blocks
OpenTofu shipped v1.10.10 on May 11, 2026 as a small patch focused on two bug fixes. The provider cache now refuses to silently overwrite a mismatched entry, and a long standing crash in import blocks that used provider defined functions is gone.
The full release notes and downloads are on the GitHub release page. Nothing else changed in this point release, so the upgrade is small and predictable.
Provider cache refuses silent overwrites
Before v1.10.10, when OpenTofu installed a provider into a local cache directory and found an existing entry under the same name with a different checksum, it would write over it without complaint. That sounds harmless until the cache is shared across workspaces or builders and one of them has the wrong artifact for the version it claims.
With the fix from #4082, the installer now returns an error when the cache already contains a conflicting entry whose checksum does not match what is expected. Operators running a shared plugin_cache_dir between CI jobs or developer machines will see this matter the most. A mismatched cache entry is now loud, not silent.
If you hit the new error after upgrading, treat it as a signal that something put the wrong file into the cache. Inspect the directory, remove the offending entry, and let OpenTofu repopulate it from the registry. Do not just delete and ignore. A checksum mismatch usually points to a supply chain problem or a partially failed download from an earlier run.
import blocks with provider defined functions no longer crash
The second fix targets a sharp edge in the import block flow. When the id expression of an import block referenced a function defined by a provider, OpenTofu would error out with BUG: Uninitialized function provider. The bug is tracked in #3803.
This pattern shows up when migrating existing cloud resources into state and the resource id is not a plain string. A provider can expose helper functions to construct or decode ids, and pointing the import block at one of those functions is a natural move. Until now, that move failed with a message that looked more like an internal assertion than a user error.
With v1.10.10 the function provider is initialized before the id expression is evaluated, so import blocks can call provider defined functions like any other expression in the configuration.
Upgrade notes
The release is a patch on the v1.10.x line. There are no documented breaking changes and no removed features. The full changelog between this release and the previous one is at the compare view.
Two things worth doing after upgrade:
- If you run a shared provider cache, walk through it once and verify checksums. The new error in v1.10.10 will surface old corruption.
- If you previously worked around the
importblock bug with hard coded ids or a wrapper script, you can drop the workaround.
Everything else carries over from v1.10.9.
Where to get it
- Release page: github.com/opentofu/opentofu/releases/tag/v1.10.10
- Repository: github.com/opentofu/opentofu
- Tag:
v1.10.10