WindowsmacOSLinux

Where Does Packer Store Cache and Plugins?

Packer caches ISOs in .packer_cache per project and plugins in a versioned config dir. Defaults, overrides and legacy paths.

Last updated

Packer splits state three ways. Big downloads like ISOs land in .packer_cache inside the working directory, movable with PACKER_CACHE_DIR. Plugins install into a versioned config tree, and global behavior comes from config files placed there.

The plugin path changed across eras, which confuses upgrades. Legacy ~/.packer.d/plugins wins if it exists; otherwise modern ~/.config/packer/plugins (or %APPDATA%\packer.d\plugins on Windows) takes over. PACKER_PLUGIN_PATH beats both, and PACKER_CONFIG_DIR redirects the config root beneath plugins. Check all three spots before declaring a plugin missing.

Where Packer stores this, by platform

Windows
%APPDATA%\packer.d\plugins

Modern plugin home; legacy %USERPROFILE%\.packer.d wins when present. Build cache defaults to .packer_cache in the working dir. PACKER_PLUGIN_PATH overrides everything.

macOS
~/.config/packer/plugins

Same modern role, with ~/.packer.d legacy fallback. PACKER_CONFIG_DIR moves the config root; plugins then sit in its plugins child. TMPDIR must stay writable for installs.

Linux
~/.config/packer/plugins

Mirrors macOS exactly. CI images should bake plugins into the image or cache this tree between runs to skip repeated installs.

Frequently asked questions

Where does Packer download ISOs to?

Into .packer_cache in the directory you run Packer from. Set PACKER_CACHE_DIR to centralize it across builds. Some plugins cache additional large files there too, so watch its size on long-lived builders.

Packer can't find my installed plugin, where should it be?

Under the root plugin dir matching your install source URL, inside ~/.config/packer/plugins (Unix) or %APPDATA%\packer.d\plugins (Windows), unless legacy ~/.packer.d or PACKER_PLUGIN_PATH redirects it. Include the SHA256SUM file alongside.

Notice an outdated path? Let us know.