GoogleContainerTools/jib · error · UnlistedPlatformInManifestListException

<image> is a manifest list, but the list does not contain an

Error message

<image> is a manifest list, but the list does not contain an image for architecture=%s, os=%s. If your intention was to specify a platform for your image, see https://github.com/GoogleContainerTools/jib/blob/master/docs/faq.md#how-do-i-specify-a-platform-in-the-manifest-list-or-oci-index-of-a-base-image

What it means

The base image reference resolved to a manifest list (multi-arch index), but none of the entries match the architecture/os Jib was asked to build for. Jib dispatches a log error and throws UnlistedPlatformInManifestListException because it cannot select a platform-specific image from the list.

Source

Thrown at jib-core/src/main/java/com/google/cloud/tools/jib/builder/steps/PullBaseImageStep.java:378

   * digest of the first manifest it finds.
   */
  @VisibleForTesting
  String lookUpPlatformSpecificImageManifest(
      ManifestListTemplate manifestListTemplate, Platform platform)
      throws UnlistedPlatformInManifestListException {
    EventHandlers eventHandlers = buildContext.getEventHandlers();

    List<String> digests =
        manifestListTemplate.getDigestsForPlatform(platform.getArchitecture(), platform.getOs());
    if (digests.isEmpty()) {
      String errorTemplate =
          buildContext.getBaseImageConfiguration().getImage()
              + " is a manifest list, but the list does not contain an image for architecture=%s, "
              + "os=%s. If your intention was to specify a platform for your image, see "
              + "https://github.com/GoogleContainerTools/jib/blob/master/docs/faq.md#how-do-i-specify-a-platform-in-the-manifest-list-or-oci-index-of-a-base-image";
      String error = String.format(errorTemplate, platform.getArchitecture(), platform.getOs());
      eventHandlers.dispatch(LogEvent.error(error));
      throw new UnlistedPlatformInManifestListException(error);
    }
    // TODO: perhaps we should return multiple digests matching the platform.
    return digests.get(0);
  }

  /**
   * Pulls a container configuration JSON specified in the given manifest.
   *
   * @param manifestAndDigest a manifest JSON and its digest
   * @param registryClient to communicate with remote registry
   * @param progressDispatcherFactory the {@link ProgressEventDispatcher.Factory} for emitting
   *     {@link ProgressEvent}s
   * @return pulled {@link ContainerConfigurationTemplate}
   * @throws IOException when an I/O exception occurs during the pulling
   * @throws LayerPropertyNotFoundException if adding image layers fails
   */
  private ContainerConfigurationTemplate pullContainerConfigJson(
      ManifestAndDigest<?> manifestAndDigest,

View on GitHub (pinned to fb949e2676)

Solutions

  1. Verify the manifest list actually contains your architecture/os: docker manifest inspect <image> or crane manifest
  2. Fix the architecture/os values in the jib platform configuration (check exact strings like 'amd64', 'arm64', 'linux')
  3. Choose a different base image that publishes a variant for your target platform
  4. See the linked Jib FAQ on specifying a platform in a manifest list/OCI index

Example fix

// before
<platform><architecture>arm64</architecture><os>windows</os></platform>  // not in list
// after
<platform><architecture>amd64</architecture><os>linux</os></platform>    // variant exists in list
Defensive patterns

Strategy: validation

Validate before calling

docker manifest inspect $BASE_IMAGE | jq -e --arg arch "$ARCH" --arg os "$OS" '.manifests[] | select(.platform.architecture==$arch and .platform.os==$os)'

Prevention

When it happens

Trigger: lookUpPlatformSpecificImageManifest finds no digest in the manifest list matching platform.getArchitecture()/getOs(); e.g. requesting platform windows/arm64 against a manifest list that only has linux/amd64 and linux/arm64 entries.

Common situations: Base image does not publish a variant for your requested architecture (e.g. arm32 or windows); misspelled os/arch values in jib platform config; building for an OS like 'windows' against a Linux-only base image; older/slim image tags with limited platform coverage.

Understand the failure class

Background: "unsupported platform" / "not supported on this platform" errors: what they mean and how to fix them — this error's family across 47 libraries.

Related errors


AI-assisted analysis of GoogleContainerTools/jib@fb949e2676 (2026-09-06). Data as JSON: /api/errors/996a1fec4dcbf01b. Report an issue: GitHub.