# Autodiscovery not picking up your check

What you see: the agent runs, the workload runs, but the integration check (redis, postgres, nginx) never appears in `agent status` and its metrics are missing.

## Why

1. **Annotations on the wrong object.** Autodiscovery annotations go on the **workload pods** (the deployment/pod template), not on the agent DaemonSet. This is the top mistake.
2. **Annotation syntax.** The annotation keys are exact (`ad.datadoghq.com/[container].check_names` etc.). A typo means no match, silently.
3. **Check not in the agent image.** Custom checks need the check file mounted into the agent (configmap). Stock checks are there; yours is not until you mount it.
4. **Container name mismatch.** The annotation targets a container name; if the pod template renamed the container, the annotation points at nothing.
5. **Autodiscovery disabled or scoped.** Some installs restrict autodiscovery to certain namespaces.

## Diagnose

`agent status` on the DaemonSet pod lists discovered checks per container. If your container is listed with no check, the annotation did not match. `kubectl describe pod` the workload and read the annotations back: compare character by character with the docs.

## Fix

Move the annotations to the pod template, fix the names, mount custom checks, restart the agent pod to force re-discovery. Then confirm the check shows OK in status before looking at dashboards.