How to I make terraform use a provider binary that I have on disk?

Hi @patmaddox,

Assuming that /home/patmaddox is your home directory, renaming your providers directory to plugins as shown under Implied Local Mirror Directories and then removing your provider_installation block should cause Terraform to infer an implied provider installation block equivalent to:

provider_installation {
  filesystem_mirror {
    path = "/home/patmaddox/.terraform.d/plugins"
    include = ["snowflake-labs/snowflake"]
  }

  direct {
    exclude = ["snowflake-labs/snowflake"]
  }
}

The exclude argument in direct avoids Terraform also asking the remote registry for available versions for this provider. I think what happened in your error message here is that it asked the origin registry registry.terraform.io for version 0.64.0 because (as you said in the later message) there was not a 0.64.0 package in your mirror directory – there was only 0.6.4.

If you prefer to keep it explicit then you could copy the configuration I wrote above and change plugins back to providers to match yours, and then it should give the same effect of only looking locally for this particular provider, while still asking the origin registry for every other provider. If you have an explicit provider_installation block then that totally disables Terraform’s Implied Local Mirror behavior.