~/.pulumi/plugins: every provider version you have ever used, kept forever
Pulumi downloads a full provider binary for each version a project asks for, and never removes old ones. How to list them by size and clear them safely.
Every Pulumi project pins provider versions, and Pulumi downloads each one into ~/.pulumi/plugins. Cloud providers are large single binaries, and a provider upgrade leaves the old version in place. Work across a few projects for a year or two and the folder holds many versions of the same provider.
Measure it
du -sh ~/.pulumi/plugins
du -sh ~/.pulumi/plugins/* | sort -h | tail -15
pulumi plugin lsClearing old versions
Plugins are downloaded again automatically when a project needs them, so removing them costs a download and nothing more.
# one provider, one version
pulumi plugin rm resource aws 6.0.0
# everything, then let each project fetch what it needs
pulumi plugin rm --all --yesAfter clearing everything, run pulumi install or pulumi preview in the projects you use, and only the versions they pin come back.
Other folders to check
~/.pulumi/binholds the CLI and language hosts, if you installed with the script rather than Homebrew.- Python and Node projects keep their own dependencies: a
venvornode_modulesper project. Our guides to node_modules and Python cover those.
Terraform has the same pattern with its provider cache, covered in Terraform cache taking up space.
Common questions
Where does Pulumi store plugins on a Mac?
In ~/.pulumi/plugins. Each provider version a project uses is downloaded there and kept.
Is it safe to delete Pulumi plugins?
Yes. Pulumi downloads the versions a project needs again when you run it. Clearing them costs a download.
How do I remove all Pulumi plugins?
Run pulumi plugin rm --all --yes, then run pulumi install or pulumi preview in each project you use to fetch only what it needs.