Where Does Helm Store Config and Cache?
Helm splits cache, config, and data into three folders. The defaults on Linux, macOS, and Windows.
Last updated
Helm uses three directories. Cache holds downloaded chart indexes, config holds repositories.yaml, data holds plugins. Env vars HELM_CACHE_HOME, HELM_CONFIG_HOME, and HELM_DATA_HOME override each one.
Without overrides, Linux uses ~/.cache/helm, ~/.config/helm, and ~/.local/share/helm. macOS uses ~/Library/Caches/helm, ~/Library/Preferences/helm, and ~/Library/helm. Windows uses %TEMP%\helm for cache and %APPDATA%\helm for config and data.
Where Helm stores this, by platform
~/.config/helm
Three folders: ~/.cache/helm, ~/.config/helm, ~/.local/share/helm. Repositories.yaml lives in the config one. Plugins live in the data one.
~/Library/Preferences/helm
Config at ~/Library/Preferences/helm, cache at ~/Library/Caches/helm, data at ~/Library/helm. Same env overrides as Linux apply.
%APPDATA%\helm
Cache defaults to %TEMP%\helm, config and data share %APPDATA%\helm. Set the HELM_*_HOME vars to relocate them, e.g. for locked down profiles.
Frequently asked questions
how do i move helm folders
Set HELM_CONFIG_HOME, HELM_CACHE_HOME, and HELM_DATA_HOME before running helm. They beat XDG vars, which beat the OS defaults. This is the clean fix for read only home dirs in CI.
helm repo update fails, which folder do i clear
Delete the repository cache under the cache path and run helm repo update. A corrupt index there causes most mysterious chart fetch errors. Config in the config path (repositories.yaml) stays intact.
Notice an outdated path? Let us know.