@registry-tags tool lists the tags published for a container image across public and private OCI registries — Docker Hub, GCR, GHCR, Quay, ACR, Harbor and Artifactory. It is keyless for public images and reads ~/.docker/config.json for private ones. No image is pulled — only the registry’s read-only tags API is queried, so it is fast and side-effect free.
Usage
@registry-tags automatically when it needs to validate or discover tags.
Arguments
Credentials
Credentials are optional. When omitted, the resolution order is:1
Explicit arguments
username/password or token passed in the call.2
~/.docker/config.json
The
auths entry (base64) or identitytoken for the matching registry — exactly how docker and crane read it. (The credsStore/credHelpers helpers are not invoked.)3
Environment variables
REGISTRY_USERNAME / REGISTRY_PASSWORD / REGISTRY_TOKEN.Registries that gate anonymous reads
GHCR, Quay and GCR require a token even to read public tags.@registry-tags performs the OCI Bearer-token negotiation automatically (it reads the WWW-Authenticate challenge, fetches the token from the realm and retries the call), so those images return tags with no setup on your side.
Output
One tag per line, with an image/host/count header. When the number of tags exceedslimit, the output is truncated and the truncation is flagged:
Notes
- It is read-only and concurrency-safe — the orchestrator can run several
@registry-tagsin parallel. - It follows pagination (Docker Hub
next, OCILink) up tolimit, instead of silently truncating at the first page. - It uses the shared web-tools HTTP client: it honors the corporate proxy (
HTTPS_PROXY) and the global TLS trust (CHATCLI_CA_BUNDLE). - Internal registries (
registry.company.com,localhost:5000) work — only cloud metadata endpoints are blocked (SSRF protection).