# helm search: Usage, Options & Common CI Errors

> helm search finds charts in your repos (search repo) or on Artifact Hub (search hub). Version listing, and why a chart is missing from results in CI.

Source: https://latchkey.dev/learn/command-reference/helm-search-command  
Updated: 2026-06-25

Find charts - in your added repos or across Artifact Hub.

helm search locates charts: search repo queries your locally added repositories' cached indexes, while search hub queries Artifact Hub across many public repos. It is how you discover charts and their available versions.

## What it does

helm search repo TERM matches against the cached indexes of repos you have added (so it is offline-fast but only as fresh as your last repo update). --versions lists every version, not just the latest; --version with a constraint filters. helm search hub TERM queries Artifact Hub's API over the network for charts you have not added.

## Common usage

```Terminal
helm search repo nginx
helm search repo bitnami/nginx --versions
helm search repo nginx --version ">=15.0.0"
helm search hub wordpress
```

## Common errors in CI

search repo finding nothing usually is not an error message but an empty result: the repo was never added on this runner, or the index is stale (a new chart version is missing). Run helm repo add and helm repo update first. search hub needs network access to Artifact Hub; in air-gapped CI it simply fails to reach the API. Remember the two are different scopes: search hub will find a chart you have not added, but you still must helm repo add its repository before you can install it.

## Using this in CI

A runner has no kubeconfig, no cached context, and no interactive auth. Every kubectl invocation in CI needs the context supplied explicitly, and most confusing CI failures here are the command running against the wrong cluster or no cluster at all.

```Terminal
# never rely on the ambient context on a runner
kubectl --context "$KUBE_CONTEXT" -n "$NAMESPACE" get pods

# confirm what you are actually connected to before mutating anything
kubectl config current-context
kubectl cluster-info

# fail fast instead of hanging on an unreachable API server
kubectl --request-timeout=30s get nodes
```

> Always set `--request-timeout` in CI. Without it an unreachable API server hangs until the job times out, which turns a thirty-second failure into a twenty-minute one.

## FAQ

### helm search: Usage, Options & Common CI Errors?

helm search locates charts: search repo queries your locally added repositories' cached indexes, while search hub queries Artifact Hub across many public repos. It is how you discover charts and their available versions.

### What it does?

helm search repo TERM matches against the cached indexes of repos you have added (so it is offline-fast but only as fresh as your last repo update). --versions lists every version, not just the latest; --version with a constraint filters. helm search hub TERM queries Artifact Hub's API over the network for charts you have not added.

### Common errors in CI?

search repo finding nothing usually is not an error message but an empty result: the repo was never added on this runner, or the index is stale (a new chart version is missing). Run helm repo add and helm repo update first. search hub needs network access to Artifact Hub; in air-gapped CI it simply fails to reach the API.

---

Latchkey runs CI/CD that repairs its own failures. Agent entry points: https://latchkey.dev/agent.txt, https://latchkey.dev/openapi.json, https://latchkey.dev/llms.txt
