{"record":{"id":"52b3c6edc35e865f","repo":"medusajs/medusa","slug":"the-subscriber-in-path-is-missing-a-config-ski","errorCode":null,"errorMessage":"The subscriber in ${path} is missing a config. skipped.","messagePattern":"The subscriber in (.+?) is missing a config\\. skipped\\.","errorType":"console","errorClass":null,"httpStatus":null,"severity":"warning","filePath":"packages/core/framework/src/subscribers/subscriberLoader.ts","lineNumber":95,"sourceCode":"    const config = subscriber.config\n\n    if (!config) {\n      /**\n       * If the subscriber is missing a config, we can't use it\n       */\n      this.logger.warn(\n        `The subscriber in ${path} is missing a config. skipped.`\n      )\n      return false\n    }","sourceCodeStart":null,"sourceCodeEnd":null,"githubUrl":"https://github.com/medusajs/medusa/blob/5e06e544a296b9033f20f71f11c559f81a0e5739/packages/core/framework/src/subscribers/subscriberLoader.ts#L95","documentation":"The SubscriberLoader requires each subscriber file to export both a default handler function and a named `config` export of type SubscriberConfig ({ event, context? }). When subscriber.config is falsy the file is skipped with this warning, so no event subscription is registered.","triggerScenarios":"A subscriber file with a valid default-exported handler but no `export const config = { event: ... }`, or a config exported under a different name (e.g. `export const subscriberConfig`).","commonSituations":"Writing only the handler and forgetting the config export; renaming the config export; copy-paste from examples that define a local const without exporting it.","solutions":["Add export const config: SubscriberConfig = { event: \"order.placed\" } (and optionally context.subscriberId) next to the default handler","Make sure the export name is exactly `config`"],"exampleFix":"// before\nexport default async function orderPlacedHandler({ event }) { /* ... */ }\n\n// after\nexport const config = { event: \"order.placed\" }\nexport default async function orderPlacedHandler({ event }) { /* ... */ }","handlingStrategy":"validation","validationCode":"// in each subscriber file, before export\nimport type { SubscriberConfig } from \"@medusajs/framework/subscribers\"\nexport const config: SubscriberConfig = { event: \"order.placed\" }\nexport default async function handler() {}","typeGuard":"const hasSubscriberConfig = (m: any) =>\n  m?.config !== undefined && m?.config !== null","tryCatchPattern":null,"preventionTips":["Name the export exactly `config`","Add a shared lint/typecheck or a loader test asserting both default and config exports exist"],"tags":["subscribers","event-bus","config","bootstrap"],"backgroundTag":"missing-required-config","analyzedSha":"5e06e544a296b9033f20f71f11c559f81a0e5739","analyzedAt":"2026-08-27T07:24:39.599Z","schemaVersion":2},"datasetVersion":"2026-08-27T08:17:20.692Z"}