--- description: >- Commands to install, configure, and show information about providers. Also commands to reduce install effort in air-gapped environments. --- # Managing Plugins OpenTofu relies on plugins called "providers" in order to manage various types of resources. (For more information about providers, see [Providers](../../language/providers/index.mdx) in the OpenTofu language docs.) :::note Providers are the only plugin type most OpenTofu users interact with. OpenTofu also supports third-party provisioner plugins, but we discourage their use. ::: OpenTofu downloads and/or installs any providers [required](../../language/providers/requirements.mdx) by a configuration when [initializing](../init/index.mdx) a working directory. By default, this works without any additional interaction but requires network access to download providers from their source registry. You can configure OpenTofu's provider installation behavior to limit or skip network access, and to enable use of providers that aren't available via a networked source. OpenTofu also includes some commands to show information about providers and to reduce the effort of installing providers in airgapped environments. ## Configuring Plugin Installation OpenTofu's configuration file includes options for caching downloaded plugins, or explicitly specifying a local or HTTPS mirror to install plugins from. For more information, see [CLI Config File](../config/config-file.mdx). ## Getting Plugin Information Use the [`tofu providers`](../commands/providers/index.mdx) command to get information about the providers required by the current working directory's configuration. Use the [`tofu version`](../commands/version.mdx) command (or `tofu -version`) to show the specific provider versions installed for the current working directory. Use the [`tofu providers schema`](../commands/providers/schema.mdx) command to get machine-readable information about the resources and configuration options offered by each provider. ## Managing Plugin Installation Use the [`tofu providers mirror`](../commands/providers/mirror.mdx) command to download local copies of every provider required by the current working directory's configuration. This directory will use the nested directory layout that OpenTofu expects when installing plugins from a local source, so you can transfer it directly to an airgapped system that runs OpenTofu. Use the [`tofu providers lock`](../commands/providers/lock.mdx) command to update the lock file that OpenTofu uses to ensure predictable runs when using ambiguous provider version constraints.