LinuxWindowsmacOS

Where Does Helm Store Repos and Cache?

Where Helm keeps config, cache, and data (repos, plugins, chart cache) on each desktop OS.

Last updated

Helm splits state three ways per the XDG spec: config for repositories and settings, cache for downloaded charts, data for plugins. Env vars (HELM_CONFIG_HOME, HELM_CACHE_HOME, HELM_DATA_HOME) relocate each root.

Defaults sit under ~/.config/helm, ~/.cache/helm, and ~/.local/share/helm on Linux and macOS, with LocalAppData equivalents on Windows. Back up the config dir for repo lists; the rest re-downloads.

Where Helm stores this, by platform

Linux
~/.config/helm/

repositories.yaml plus registry config. Cache in ~/.cache/helm, plugins in ~/.local/share/helm/plugins. Override each root with HELM_*_HOME vars.

Windows
%LOCALAPPDATA%\helm\

Same three-way split under the user profile. Exact LocalAppData names follow the Helm version; check helm env for live paths.

macOS
~/.config/helm/

Same layout as Linux. Homebrew and pkg installs share these defaults; helm env prints the live roots.

Frequently asked questions

How do I clear the Helm chart cache?

Delete the relevant subfolder under cache (charts, registry) while keeping config/repositories.yaml so sources stay registered. Next pull re-downloads. Never hand-edit files under cache; they are checksummed state, not config.

Where are Helm plugins?

Plugins live in the data dir (plugins/ beside registries). List with helm plugin list, remove with helm plugin uninstall. Config stays in the config dir, so plugin cleanup never touches repository definitions.

Notice an outdated path? Let us know.