fileUpdate returns FILE_LOCKED even though MediaImage is READY

We encountered a MediaImage that consistently returns:

FILE_LOCKED: File id 39592597422301 has a pending operation.

Original MediaImage: gid://shopify/MediaImage/39592597422301

Querying the file shows:

fileStatus: READY
fileErrors: []

However, fileUpdate(referencesToAdd) still fails with FILE_LOCKED.

Target Product: gid://shopify/Product/9654702047453

One confirmed failed request:

X-Request-ID: e286463b-eb9a-43f9-87b0-819053fe00cc-1788596949

The lock persisted for hours even though the public file status remained READY.

To test whether this was related to the image content or product, we recreated the exact same source image as a new File.

fileCreate

UTC: 2026-09-05T08:57:15.527Z

X-Request-ID: 05aed459-9e6a-49e7-b2d5-98bd75a7732d-1788598635

New MediaImage: gid://shopify/MediaImage/39592974516445

The new file reached READY.

We then used the new MediaImage in the same fileUpdate(referencesToAdd) flow for the same product.

UTC: 2026-09-05T08:57:17.690Z

X-Request-ID: 33b8725c-1aae-454e-b49b-dbc8b699ffab-1788598637

This request succeeded and the new MediaImage was attached to the product successfully.

At that point:

  • New MediaImage gid://shopify/MediaImage/39592974516445 was READY

  • fileErrors was empty

  • It was successfully attached to the product

  • Original MediaImage gid://shopify/MediaImage/39592597422301 was still READY with no fileErrors, but remained unusable because of FILE_LOCKED

We are using Admin GraphQL API 2026-04.

This seems to indicate that the original File has an internal pending operation or stale lock that is not reflected by fileStatus or fileErrors.

Is there any API or recommended recovery method to inspect or clear this pending operation, other than deleting and recreating the File?