Skip to content
DevOps AI ToolKit
Newsletter
All guides
AI for Pulumi By James Joyner IV · · 8 min read Last reviewed Jul 2026

Pulumi Error: 'no resource plugin found, run pulumi plugin install'

Quick answer

Fix Pulumi's 'no resource plugin ... found in the workspace or on your $PATH, run pulumi plugin install' error: install the missing provider plugin and align versions so preview and up succeed.

  • #pulumi
  • #iac
  • #troubleshooting
  • #errors
Free toolkit

Stuck on this Pulumi error? Get the free incident triage checklist

A one-page PDF — the exact steps to isolate, fix, and verify a production error like this one. No spam, unsubscribe anytime.

Exact Error Message

error: no resource plugin 'aws-v6.42.0' found in the workspace or on your $PATH,
run `pulumi plugin install resource aws v6.42.0`

error: could not load plugin for aws provider
'urn:pulumi:prod::app::pulumi:providers:aws::default_6_42_0': no resource plugin
'aws' found in the workspace at version v6.42.0

A generic form during pulumi up looks like:

error: failed to load resource plugin: gcp: could not read plugin
[/home/ci/.pulumi/plugins/resource-gcp-v7.20.0]: file does not exist

What It Means

Pulumi separates the language SDK you import in code from the resource provider plugin, a downloaded binary that actually talks to the cloud API. Plugins live in ~/.pulumi/plugins (or a workspace cache). When Pulumi builds the resource graph it looks up the exact provider and version each resource needs, and if that binary is not present on disk or on $PATH, it stops with this error.

This is almost always an environment/provisioning gap rather than a code bug: a clean CI runner, a wiped plugin cache, an air-gapped host with no registry access, or a version bump in the SDK that requires a plugin no one has installed yet. The fix is to install the named plugin at the named version.

Common Causes

  • A fresh CI runner or container has an empty ~/.pulumi/plugins cache.
  • The provider SDK was upgraded in code, so a newer plugin version is now required than what is installed.
  • pulumi install (which fetches SDK packages and plugins) was skipped in the pipeline.
  • An air-gapped or restricted-network host cannot reach get.pulumi.com to auto-download the plugin.
  • The plugin cache was cleared (pulumi plugin rm --all) or the volume was not persisted between CI jobs.

Diagnostic Commands

List every plugin currently installed and its version:

pulumi plugin ls

See which providers and versions the program requires:

grep -Rn "Pulumi.Aws\|@pulumi/aws\|pulumi-aws" package.json go.mod *.csproj 2>/dev/null

Confirm network reachability to the plugin registry (for auto-download):

curl -sI https://get.pulumi.com/releases/plugins/ | head -n1

Inspect the plugin directory on the failing host:

ls -la ~/.pulumi/plugins

Step-by-Step Resolution

  1. Install the exact plugin and version named in the error message:
pulumi plugin install resource aws v6.42.0
  1. Prefer the project-wide installer, which reads your SDK dependencies and pulls both packages and matching plugins in one step:
pulumi install
  1. Verify the plugin now appears at the required version:
pulumi plugin ls
  1. For air-gapped hosts, download the plugin tarball elsewhere and install it from a local file with --file:
pulumi plugin install resource aws v6.42.0 --file ./pulumi-resource-aws-v6.42.0-linux-amd64.tar.gz
  1. In CI, cache ~/.pulumi/plugins between runs so the download happens once, and run pulumi install before pulumi up:
pulumi install
pulumi up --yes --stack prod
  1. Re-run the original command to confirm the plugin loads:
pulumi preview --stack prod

Prevention

  • Run pulumi install as an explicit early step in every pipeline, before preview/up.
  • Persist or cache the ~/.pulumi/plugins directory across CI jobs to avoid repeated downloads and rate limits.
  • Pin provider versions in your SDK dependencies so the required plugin version is deterministic.
  • For air-gapped environments, mirror provider tarballs internally and install with --file.
  • When bumping a provider SDK, run pulumi install locally so the new plugin is fetched before the change reaches CI.
  • resource provider version mismatch — a plugin is installed but at the wrong version.
  • could not load plugin for provider — a broader load failure, sometimes a corrupt cache.
  • failed to load language plugin — the language host, not a resource provider, is missing.
  • unknown provider type — the resource type has no provider registered at all.

Frequently Asked Questions

What is the difference between pulumi install and pulumi plugin install? pulumi install reads your project and installs both language SDK packages and every required provider plugin at once. pulumi plugin install resource <name> <version> installs a single provider plugin explicitly — useful when you know exactly what is missing.

Why does this only fail in CI? Fresh CI runners start with an empty plugin cache. Local machines usually have the plugin from earlier work, so the gap only shows up on clean environments. Caching the plugin directory fixes it.

How do I install a plugin without internet access? Download the correct pulumi-resource-<name>-<version>-<os>-<arch>.tar.gz on a connected machine and run pulumi plugin install resource <name> <version> --file <tarball> on the air-gapped host.

Do I have to match the version in the error exactly? Yes for the quickest fix — install the named version. Long term, run pulumi install so the version stays aligned with whatever your SDK dependency pins. Prebuilt provisioning snippets are in the prompt library.

Where are more provider and plugin fixes? See the full Pulumi guides for related troubleshooting.

Free download · 368-page PDF

Fixed it? Get 500 Pulumi & DevOps AI prompts — free

500 battle-tested, copy-paste AI prompts engineered by a senior systems engineer — every one with fill-in placeholders and safety/back-out notes. Drop your email and it's yours.

  • 500 prompts: Linux · Kubernetes · Terraform · OpenStack · GitLab · Docker · Monitoring · Incident Response
  • Instant PDF download — yours free, forever
  • Plus one practical AI-workflow email a week (no spam)

Single opt-in · unsubscribe anytime · no spam.

Did this fix your issue?

Free download · 368-page PDF

Get 500 Battle-Tested DevOps AI Prompts — Free

500 battle-tested, copy-paste AI prompts engineered by a senior systems engineer — every one with fill-in placeholders and safety/back-out notes. Drop your email and it's yours.

  • 500 prompts: Linux · Kubernetes · Terraform · OpenStack · GitLab · Docker · Monitoring · Incident Response
  • Instant PDF download — yours free, forever
  • Plus one practical AI-workflow email a week (no spam)

Single opt-in · unsubscribe anytime · no spam.