Helm release exists but has no deployed applications
Error: no deployed release named <RELEASE> found
Focused incident mode — strips away everything but this runbook.
Symptoms
- Error: no deployed release named <RELEASE> found
- helm list shows the release but kubectl get all returns nothing
- Release appears in a different namespace than expected
Helm stores releases as Secrets in the cluster — the release record and the actual resources are independent. A deleted deployment does not delete the Helm release record.
Evidence to grab
Collect these artifacts before you change anything — they prove (or rule out) each cause.
Helm release list across all namespaces
helm list --all-namespaces | grep <RELEASE>Kubectl context namespace
kubectl config view --minify --output jsonpath='{.contexts[0].context.namespace}'
Diagnostic flow
Run the steps in order, marking each claim confirmed or refuted. The evidence you gather feeds the ranked causes below.
Guided decision tree is ready.
Steps with commands, expected output, and pass/fail branches.
Ranked root causes
Evidence checklist
- helm list --all-namespaces shows the release in another namespace
- kubectl config view shows a different default namespace than the install
- CI/CD pipeline installs to staging but debug runs against production
Confirm before fixing
helm list --all-namespaces | grep <RELEASE>Find the release in all namespaces
Fix
helm list -n <CORRECT_NAMESPACE>Confirm the correct namespace before proceeding
Resolution runbook
Apply from top to bottom after the cause is confirmed. Review every command before running it — risk tags are shown on each.
helm list --all-namespaces | grep <RELEASE>Locate the release across every namespace
kubectl config current-context && kubectl config view --minify --output jsonpath='{.contexts[0].context.namespace}'Confirm the active context and namespace
kubectl get all -n <NAMESPACE> -l app.kubernetes.io/instance=<RELEASE>Check if the Helm-labeled resources exist
helm history <RELEASE> -n <NAMESPACE>Review revision history for failed or pending installs
Prevention
- Always pass -n <NAMESPACE> explicitly in helm commands instead of relying on the kubeconfig default.
- Use helm list --all-namespaces when a release seems missing before switching clusters.
- Add a post-install verification step (kubectl get deploy) in CI/CD pipelines to catch failed installs.
- Document which kubeconfig context each environment uses and share a .helmignore for local dev.
Related runbooks
Same stack, same failure family — worth a skim.
Commands marked READ CHANGE DESTRUCTIVE — never run DESTRUCTIVE commands against production data you cannot restore. Copy → verify → execute.