Skip to content

Helm's cache is rarely the big one, and here is where the space really is

Helm keeps chart repository indexes in ~/Library/Caches/helm on a Mac. How to measure and clear it, and why the larger cost is usually the images your charts pull.

3 min read

On a Mac, Helm keeps its cache in ~/Library/Caches/helm, not in ~/.cache as on Linux. It holds an index file for every repository you added, plus chart archives you pulled. Large public repositories have index files of several megabytes each, so a long helm repo list adds up, but it is rarely more than a few hundred megabytes.

helm env | grep -E 'HELM_(CACHE|DATA|CONFIG)_HOME'
du -sh "$(helm env HELM_CACHE_HOME)" "$(helm env HELM_DATA_HOME)" 2>/dev/null
helm repo list

Clear it

helm repo remove <repo-you-no-longer-use>
rm -rf "$(helm env HELM_CACHE_HOME)/repository"
helm repo update

Removing a repository also drops its index from the cache. Plugins live in the data folder (~/Library/helm); helm plugin list and helm plugin uninstall manage them. None of this touches releases, which are stored inside the cluster.

Where the gigabytes usually are

Every chart you install pulls container images into your local cluster, and those live inside its virtual machine. That is usually measured in gigabytes rather than megabytes. See local Kubernetes clusters and Docker images and volumes.

Common questions

Where is the Helm cache on a Mac?

In ~/Library/Caches/helm by default. Running helm env shows the exact HELM_CACHE_HOME, which changes if you set XDG_CACHE_HOME.

Does clearing the Helm cache delete my releases?

No. Release state is stored in the cluster, not on your Mac. Clearing the cache only removes repository indexes and downloaded chart archives, and helm repo update fetches fresh indexes.

Why is Helm using so much space?

Usually it is not Helm itself but the container images its charts pulled into your local cluster. Those live in the cluster's virtual machine disk, which you clean with the cluster tool or Docker.

Read next