Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.

The GPUDeviceLostInfo interface of the WebGPU API represents the object returned when the GPUDevice.lost Promise resolves. This provides information as to why a device has been lost.

See the GPUDevice.lost page for more information about "lost" state.

Instance properties

message Experimental Read only

A string providing a human-readable message that explains why the device was lost.

reason Experimental Read only

An enumerated value that defines the reason the device was lost in a machine-readable way.


async function init() {
  if (!navigator.gpu) {
    throw Error("WebGPU not supported.");
  const adapter = await navigator.gpu.requestAdapter();
  if (!adapter) {
    throw Error("Couldn't request WebGPU adapter.");

  // Create a GPUDevice
  let device = await adapter.requestDevice(descriptor);

  // Use lost to handle lost devices
  device.lost.then((info) => {
    console.error(`WebGPU device was lost: ${info.message}`);
    device = null;
    if (info.reason !== "destroyed") {
  // ...


# gpudevicelostinfo

Browser compatibility

BCD tables only load in the browser

See also