currentBulkOperation not returning current operation

I’m running the currentBulkOperation query on 2025-10 and it’s returning an old operation which is already completed, but there is another more recent one on the store and i would expect this to show instead.

query {

currentBulkOperation {

id

status

errorCode

createdAt

completedAt

objectCount

fileSize

url

partialDataUrl

}

}

{
“data”: {
“currentBulkOperation”: {
“id”: “gid://shopify/BulkOperation/6847798345986”,
“status”: “COMPLETED”,
“errorCode”: null,
“createdAt”: “2025-12-05T21:42:09Z”,
“completedAt”: “2025-12-05T21:44:53Z”,
“objectCount”: “98936”,
“fileSize”: “30510485”,
“url”: “”,
“partialDataUrl”: null
}
},
“extensions”: {
“cost”: {
“requestedQueryCost”: 1,
“actualQueryCost”: 1,
“throttleStatus”: {
“maximumAvailable”: 2000.0,
“currentlyAvailable”: 1999,
“restoreRate”: 100.0
}
}
}
}

and here is the latest one

query {

node(id: “gid://shopify/BulkOperation/6847809945858”) {

... **on** BulkOperation {

id

status

errorCode

createdAt

completedAt

objectCount

fileSize

url

partialDataUrl

}

}

}

{
“data”: {
“node”: {
“id”: “gid://shopify/BulkOperation/6847809945858”,
“status”: “COMPLETED”,
“errorCode”: null,
“createdAt”: “2025-12-05T21:45:09Z”,
“completedAt”: “2025-12-05T21:54:55Z”,
“objectCount”: “10117”,
“fileSize”: “1748260”,
“url”: “”,
“partialDataUrl”: null
}
},
“extensions”: {
“cost”: {
“requestedQueryCost”: 1,
“actualQueryCost”: 1,
“throttleStatus”: {
“maximumAvailable”: 2000.0,
“currentlyAvailable”: 1999,
“restoreRate”: 100.0
}
}
}
}

Hi @Min_Liu! The currentBulkOperation query has separate tracks for queries and mutations - you can run one bulk query and one bulk mutation at the same time per shop. The type parameter defaults to QUERY if you don’t specify it.

If your newer operation (ending at 21:54:55) was a mutation and the older one (ending at 21:44:53) was a query, that’d explain why currentBulkOperation without the type parameter returns the older one - it’s showing you the most recent query operation, not the most recent mutation.

Try running currentBulkOperation(type: MUTATION) and currentBulkOperation(type: QUERY) separately to see if they return different operations. That’ll tell you if you’re just checking the wrong track.

Worth noting that currentBulkOperation is deprecated - the docs recommend using the bulkOperations query with a status filter instead (currently only in unstable, likely stable in 2026-01), which gives you more control over filtering by type and status.

cheers thank you. yes, waiting for bulkOperations to become stable before switching over to it.

1 Like