{"record":{"id":"f9cba77e72f09658","repo":"payloadcms/payload","slug":"the-global-with-slug-string-globalslug-can-t-b-f9cba7","errorCode":null,"errorMessage":"The global with slug ${String(globalSlug)} can't be found.","messagePattern":"The global with slug (.+?) can't be found\\.","errorType":"http","errorClass":"APIError","httpStatus":500,"severity":"error","filePath":"packages/payload/src/globals/operations/local/update.ts","lineNumber":131,"sourceCode":"): Promise<TransformGlobalWithSelect<TSlug, TSelect>> {\n  const {\n    slug: globalSlug,\n    data,\n    depth,\n    draft,\n    overrideAccess = true,\n    overrideLock,\n    populate,\n    publishAllLocales,\n    select,\n    showHiddenFields,\n    unpublishAllLocales,\n  } = options\n\n  const globalConfig = payload.globals.config.find((config) => config.slug === globalSlug)\n\n  if (!globalConfig) {\n    throw new APIError(`The global with slug ${String(globalSlug)} can't be found.`)\n  }\n\n  return updateOperation<TSlug, TSelect>({\n    slug: globalSlug as string,\n    data: deepCopyObjectSimple(data), // Ensure mutation of data in create operation hooks doesn't affect the original data\n    depth,\n    draft,\n    globalConfig,\n    overrideAccess,\n    overrideLock,\n    populate,\n    publishAllLocales,\n    req: await createLocalReq(options as CreateLocalReqOptions, payload),\n    select,\n    showHiddenFields,\n    unpublishAllLocales,\n  })\n}","sourceCodeStart":113,"sourceCodeEnd":149,"githubUrl":"https://github.com/payloadcms/payload/blob/00c58b35c0ed348ddc22daabf467b139727214fd/packages/payload/src/globals/operations/local/update.ts#L113-L149","documentation":"Thrown by updateGlobalLocal (payload.updateGlobal) when globalSlug is not in payload.globals.config. Guard before delegating to updateOperation.","triggerScenarios":"Calling payload.updateGlobal({ slug: 'mistyped', data }) with an unregistered slug.","commonSituations":"Slug typo; renamed global; programmatic update with a slug from untrusted/dynamic input; calling before init.","solutions":["Validate the slug against payload.globals.config before calling.","Use typed GlobalSlug at every update call site.","Run a grep pass after renaming a global.","Ensure payload.init() has resolved."],"exampleFix":"// before\nawait payload.updateGlobal({ slug: 'seettings', data })\n\n// after\nif (!payload.globals.config.some(g => g.slug === slug)) {\n  throw new Error(`Unknown global slug: ${slug}`)\n}\nawait payload.updateGlobal({ slug, data })","handlingStrategy":"validation","validationCode":"if (!payload.globals.config.some((g) => g.slug === slug)) {\n  throw new Error(`Unknown global: ${slug}`)\n}","typeGuard":"function isGlobalSlug(payload: Payload, slug: string): slug is GlobalSlug {\n  return payload.globals.config.some((g) => g.slug === slug)\n}","tryCatchPattern":"try {\n  await payload.updateGlobal({ slug, data })\n} catch (err) {\n  if (err instanceof APIError && /can't be found/.test(err.message)) return null\n  throw err\n}","preventionTips":["Validate dynamic slugs from input before update.","Keep a typed constants module for global slugs."],"tags":["globals","local-api","config","validation"],"backgroundTag":null,"analyzedSha":"00c58b35c0ed348ddc22daabf467b139727214fd","analyzedAt":"2026-08-12T20:45:03.758Z","schemaVersion":2},"datasetVersion":"2026-08-12T23:17:12.415Z"}