---
schema_version: 1
route: /t/skopeo.md
tool: "skopeo"
---

# sincecutoff.com /t/skopeo — Skopeo

- name: Skopeo
- kind: cli
- children: none
- homepage: <https://github.com/containers/skopeo>

Changes to the tools coding agents drive, since a model's training cutoff, each linked to its first-party source. Check installed versions and limitations before acting; a cutoff date does not establish what a model knows.
Original editorial content: [Apache 2.0](https://sincecutoff.com/v1/data-license.txt), by [0xPatrick](https://0xpatrick.dev). Preserve applicable license and [NOTICE](https://sincecutoff.com/notice.txt) attribution when redistributing. Third-party source text and examples retain their own rights. [License scope and attribution](https://sincecutoff.com/v1/license.json).
To stay current, read the changes feed: [`/v1/changes.md?tool=skopeo`](https://sincecutoff.com/v1/changes.md?tool=skopeo) (or `.json`), adding `since=YYYY-MM-DD` for your training cutoff. Entries for registered children are included; the registry itself is `/v1/tools.json`. How to page and save your place: [llms.txt](https://sincecutoff.com/llms.txt).

### skopeo copy adds manifest-list signature removal and sparse-list stripping (2026-07-30)
- slug: skopeo-copy-adds-manifest-list-signature-removal-and-sparse-list-stripping-77d75cf2356a
- score: 0.94

How to use it:

When copying only selected platforms from a multi-architecture image to a registry that rejects sparse lists, use `--strip-removed-platforms` and explicitly remove signatures. Use `--remove-list-signatures` to preserve per-instance signatures, or `--remove-signatures` to remove all signatures.

Examples:

```
skopeo copy --multi-arch=linux/amd64,linux/arm64 --strip-removed-platforms --remove-list-signatures docker://quay.io/skopeo/stable:latest docker://registry.example.com/skopeo:latest
```

- why_it_matters: Copy selected platforms from a multi-architecture image to a registry that rejects manifest lists referencing missing images.
- before: Use `--remove-signatures` to remove both manifest-list and per-instance signatures; sparse manifest lists may contain entries for images not copied to the destination.
- sources: <https://github.com/podman-container-tools/skopeo/releases/tag/v1.24.0>, <https://github.com/podman-container-tools/skopeo/pull/2892>, <https://github.com/podman-container-tools/skopeo/blob/v1.24.0/docs/skopeo-copy.1.md>
- gotchas: "Version: v1.24.0"; "--multi-arch=<platform-list> (required): Select specific platforms using a comma-separated list of OS/architecture pairs; all compression variants and other variations for each platform are copied."; "--strip-removed-platforms (required): Write a manifest list containing only copied platforms. Requires explicit signature removal because stripping changes the list digest and invalidates its signature."; "--remove-list-signatures (required): Do not copy the manifest list signature while preserving per-instance signatures. It is an alternative to `--remove-signatures`; the documentation does not state that the two flags are mutually exclusive or describe precedence."; "--remove-signatures: Do not copy any source signatures. Use instead of `--remove-list-signatures` when all signatures should be removed; the documentation does not state that the two flags are mutually exclusive or describe precedence."; "source-image (required): Image name to copy from, using Skopeo's image-name format."; "destination-image (required): Image name to copy to, using Skopeo's image-name format."; "`--strip-removed-platforms` requires signatures to be removed using either `--remove-signatures` or `--remove-list-signatures`; the operation fails if signatures are present and not explicitly removed."; "If both signature-removal flags are specified, `--remove-signatures` takes precedence."; "`--strip-removed-platforms` applies when copying only a subset of platforms from a multi-architecture image using `--multi-arch` with a platform list."

### skopeo copy adds platform-based filtering via --multi-arch (2026-05-26)
- slug: skopeo-copy-adds-platform-based-filtering-via-multi-arch-5f91b908fc17
- score: 0.91

How to use it:

When copying a multi-architecture image and only specific platforms are needed, use `skopeo copy --multi-arch=<OS/ARCH,...> <source-image> <destination-image>`. The platform list copies all matching instances, including compression variants, and creates a sparse manifest list.

Examples:

```
skopeo copy --multi-arch=linux/amd64,linux/arm64 docker://<source> docker://<destination>
```

- why_it_matters: Copy container images while filtering by platform.
- before: The pull request describes the platform-list option as an alternative to specifying digest hashes via the `Instances` field.
- sources: <https://github.com/podman-container-tools/skopeo/releases/tag/v1.23.0>, <https://github.com/podman-container-tools/skopeo/blob/v1.23.0/docs/skopeo-copy.1.md>, <https://github.com/podman-container-tools/skopeo/pull/2874>
- gotchas: "Version: v1.23.0"; "--multi-arch=<platform-list>: For a multi-architecture source, a comma-separated list of OS/Architecture pairs selects the platforms to copy. All matching instances, including compression variants and other variations, are copied. The flag also accepts `system` (default), `all`, and `index-only`; the documentation does not state whether these modes are mutually exclusive."; "source-image (required): Image to copy; use the documented image name format. Example uses the `docker://` transport."; "destination-image (required): Copy destination; use the documented image name format. Example uses the `docker://` transport."
