{"record":{"id":"5bd8d05f7b11a3af","repo":"vercel/next.js","slug":"next-image-optimization-requires-missingvalues-j","errorCode":null,"errorMessage":"Next Image Optimization requires ${missingValues.join(', ')} to be provided. Make sure you pass them as props to the `next/image` component. Received: ${JSON.stringify({ src, width, quality })}","messagePattern":"Next Image Optimization requires (.+?) to be provided\\. Make sure you pass them as props to the `next/image` component\\. Received: (.+?)\\)\\}","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"packages/next/src/shared/lib/image-loader.ts","lineNumber":19,"sourceCode":"import type { ImageLoaderPropsWithConfig } from './image-config'\nimport { findClosestQuality } from './find-closest-quality'\nimport { getAssetToken, getDeploymentId } from './deployment-id'\n\nfunction defaultLoader({\n  config,\n  src,\n  width,\n  quality,\n}: ImageLoaderPropsWithConfig): string {\n  if (process.env.NODE_ENV !== 'production') {\n    const missingValues = []\n\n    // these should always be provided but make sure they are\n    if (!src) missingValues.push('src')\n    if (!width) missingValues.push('width')\n\n    if (missingValues.length > 0) {\n      throw new Error(\n        `Next Image Optimization requires ${missingValues.join(\n          ', '\n        )} to be provided. Make sure you pass them as props to the \\`next/image\\` component. Received: ${JSON.stringify(\n          { src, width, quality }\n        )}`\n      )\n    }\n  }\n\n  // Extract dpl parameter early so validation uses the clean URL.\n  // If a immutable asset token should be used, it was already added as a query parameter and will\n  // be extracted and reused here.\n  let deploymentId = getDeploymentId()\n  if (src.startsWith('/') && !src.startsWith('//')) {\n    if (src.includes('/_next/static/immutable') && !getAssetToken()) {\n      // immutable static asset and supported by platform, don't add `?dpl=`\n      deploymentId = undefined\n    } else {","sourceCodeStart":1,"sourceCodeEnd":37,"githubUrl":"https://github.com/vercel/next.js/blob/0eb377541648e63402a47b38fee00a8d0ce8f8f1/packages/next/src/shared/lib/image-loader.ts#L1-L37","documentation":"Error \"Next Image Optimization requires ${missingValues.join(', ')} to be provided. Make sure you pass them as props to the `next/image` component. Received: ${JSON.stringify({ src, width, quality })}\" thrown in vercel/next.js.","triggerScenarios":"The image loader is missing required src, width, or quality values.","commonSituations":"A custom loader receives incomplete props because width or quality was omitted from next/image.","solutions":["Pass src, width, and quality (as required) to the next/image component."],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"0eb377541648e63402a47b38fee00a8d0ce8f8f1","analyzedAt":"2026-08-19T02:10:13.922Z","contentChangedAt":"2026-08-19T02:10:13.922Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}