Skip to content
Latchkey

Helm "found in Chart.yaml, but missing in charts/ directory" - Fix Dependencies in CI

A chart’s Chart.yaml declares dependencies, but the charts/ directory does not contain them. Helm will not pull subcharts implicitly at install time - you must run helm dependency build/update first, which CI often skips.

What this error means

helm install/upgrade/template fails with found in Chart.yaml, but missing in charts/ directory: <dep> or no cached repo found ... (try helm repo update). The dependencies were declared but never vendored into charts/.

helm output
Error: found in Chart.yaml, but missing in charts/ directory: postgresql, redis

Common causes

Dependencies never built/vendored

A fresh checkout has Chart.yaml deps but an empty charts/ (the subcharts and Chart.lock were not committed), and CI did not run helm dependency build.

Dependency repo not added

A dependency points at a repo Helm has not added/updated locally, so it cannot resolve or cache it (no cached repo found).

How to fix it

Build dependencies before install

Run helm dependency build (from Chart.lock) or update to populate charts/ before any install/upgrade/template.

Terminal
helm dependency build ./chart    # uses Chart.lock if present
# or, to re-resolve and refresh the lock:
helm dependency update ./chart
helm template ./chart

Add the dependency repos first

  1. Add and update each dependency’s repo (helm repo add <name> <url> && helm repo update).
  2. Commit Chart.lock so helm dependency build is reproducible in CI.
  3. Order the pipeline so dependency build runs before install/upgrade/template.

How to prevent it

  • Run helm dependency build as an explicit early CI step.
  • Commit Chart.lock so dependency versions are pinned and reproducible.
  • Add required chart repos before resolving dependencies.

Related guides

Tired of flaky CI? Latchkey auto-heals failed jobs and retries them for you. Start free →