Skip to content
Latchkey

Argo CD "Manifest generation error" in CI

Manifest generation is the repo-server step that produces YAML from your source. A Manifest generation error is the umbrella message; the wrapped detail names the specific tool (helm, kustomize, plugin, or path) that failed.

What this error means

The Application condition is "Manifest generation error" and the app cannot sync because it has no rendered manifests. The detail text points to the underlying tool or path problem.

argocd
ComparisonError: rpc error: code = Unknown desc = Manifest generation error (cached):
helm template . --name-template my-app failed exit status 1: Error: template:
mychart/templates/deploy.yaml:14:20: nil pointer evaluating interface {}.tag

Common causes

The configured tool failed

Whatever generator the source uses (Helm, kustomize, directory, or plugin) returned an error, which is wrapped in the detail text.

A stale cached error

"(cached)" means the repo-server is replaying a previous generation failure until a hard refresh forces a re-render.

How to fix it

Identify the failing generator

  1. Read the detail after "Manifest generation error:" to see which tool failed.
  2. Reproduce that tool locally with the same inputs.
  3. Fix it, push, and hard-refresh to clear the cache.
Terminal
argocd app get my-app
argocd app get my-app --hard-refresh

Verify the source type and path

Confirm the Application source declares the right tool and path so the repo-server picks the correct generator.

application.yaml
spec:
  source:
    path: overlays/prod
    repoURL: https://github.com/acme/manifests
    targetRevision: main

How to prevent it

  • Render your source with its tool in CI before Argo CD does.
  • Confirm the source path and type match your repo layout.
  • Hard-refresh after a fix so cached generation errors do not linger.

Related guides

Run this faster and cheaper on Latchkey managed runners. Start free →