# Diagnose ImagePullBackOff

> Determine why a pod cannot pull its container image and resolve safely.

- Skill: `bregman-arie/diagnose-imagepullbackoff` (Agent Skill)
- Install (CLI): `npx skillmds@latest add bregman-arie/diagnose-imagepullbackoff`
- Raw SKILL.md: https://api.skillmd.com/api/skills/bregman-arie/diagnose-imagepullbackoff/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: DevOps & Infra
- Author: bregman-arie (https://skillmd.com/u/bregman-arie)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/bregman-arie/diagnose-imagepullbackoff

---


## When to use

Use when a pod is stuck in `ImagePullBackOff` or `ErrImagePull`.

## Preconditions

- You have read access to the namespace.
- You can identify the image reference from pod spec or describe output.

## Procedure

1. Confirm the failing image and container.
2. Read the event message for the exact pull error (404/401/timeout/TLS).
3. Validate the image name/tag/digest exists (out-of-band via registry).
4. Validate image pull secrets and service account configuration.
5. Validate network egress/DNS/TLS to the registry.

## Decision points

- `not found`: wrong tag/digest or repo path.
- `unauthorized`: missing/incorrect credentials or secret reference.
- `i/o timeout`: network path, proxy, firewall, or registry outage.
- `x509`: certificate chain/mitm/proxy issues.

## Verification

- New pods progress to `Running` without pull errors.
- Events stop showing pull failures.

## Rollback / undo

- Revert image reference to the last known-good tag/digest.
- Revert service account/secret references if changed.

## Escalation

- Registry team/vendor if the registry is down or auth is broken broadly.
- Platform/network team for cluster-wide DNS/egress/TLS issues.

## Examples

```bash
kubectl -n <ns> get pod <pod>
kubectl -n <ns> describe pod <pod>
```

