{"record":{"id":"245a412185551518","repo":"serverless/serverless","slug":"schema-collision","errorCode":"SCHEMA_COLLISION","errorMessage":"Top-level property '${name}' already have a definition - this property might have already been defined by the Serverless framework or one other plugin","messagePattern":"Top-level property '(.+?)' already have a definition - this property might have already been defined by the Serverless framework or one other plugin","errorType":"error_code","errorClass":"ServerlessError","httpStatus":null,"severity":"error","filePath":"packages/serverless/lib/classes/config-schema-handler/index.js","lineNumber":160,"sourceCode":"              'http://slss.io/configuration-validation',\n            )}`,\n          ].join('\\n'),\n        )\n        if (!this.serverless.configurationInput.configValidationMode) {\n          this.serverless._logDeprecation(\n            'CONFIG_VALIDATION_MODE_DEFAULT_V3',\n            'Starting with the next major, Serverless will throw on configuration errors by' +\n              ' default. Adapt to this behavior now by adding \"configValidationMode: error\" to' +\n              ' the service configuration',\n          )\n        }\n      }\n    }\n  }\n\n  defineTopLevelProperty(name, subSchema) {\n    if (this.schema.properties[name]) {\n      throw new ServerlessError(\n        `Top-level property '${name}' already have a definition - this property might have already been defined by the Serverless framework or one other plugin`,\n        'SCHEMA_COLLISION',\n      )\n    }\n    this.schema.properties[name] = subSchema\n  }\n\n  defineBuildProperty(name, subSchema) {\n    const idx = this.schema.properties.build.anyOf.findIndex(\n      (item) => item.type === 'object',\n    )\n    if (this.schema.properties.build.anyOf[idx].properties[name]) {\n      throw new ServerlessError(\n        `Build property '${name}' already have a definition - this property might have already been defined by the Serverless framework or one other plugin`,\n        'SCHEMA_COLLISION',\n      )\n    }\n    this.schema.properties.build.anyOf[idx].properties[name] = subSchema","sourceCodeStart":142,"sourceCodeEnd":178,"githubUrl":"https://github.com/serverless/serverless/blob/b9d7ea51c8cce57cff1207964b9b71123673081f/packages/serverless/lib/classes/config-schema-handler/index.js#L142-L178","documentation":"Error \"Top-level property '${name}' already have a definition - this property might have already been defined by the Serverless framework or one other plugin\" thrown in serverless/serverless.","triggerScenarios":"Thrown at packages/serverless/lib/classes/config-schema-handler/index.js:160 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Rename the custom top-level property or schema definition so it does not collide with an existing framework or plugin definition.","Remove duplicate defineProvider/defineTopLevelProperty calls registering the same property."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"b9d7ea51c8cce57cff1207964b9b71123673081f","analyzedAt":"2026-08-13T04:14:40.386Z","schemaVersion":2},"datasetVersion":"2026-08-13T09:17:06.757Z"}