diff --git a/Composer/packages/extension/src/manager/manager.ts b/Composer/packages/extension/src/manager/manager.ts index 29c80a0ade..15fa510409 100644 --- a/Composer/packages/extension/src/manager/manager.ts +++ b/Composer/packages/extension/src/manager/manager.ts @@ -245,12 +245,15 @@ class ExtensionManager { const extensionInstallPath = path.dirname(fullPath); const packageJson = (await readJson(fullPath)) as PackageJSON; const isEnabled = packageJson?.composer && packageJson.composer.enabled !== false; + const metadata = getExtensionMetadata(extensionInstallPath, packageJson); if (packageJson && (isEnabled || packageJson.extendsComposer === true)) { - const metadata = getExtensionMetadata(extensionInstallPath, packageJson); this.manifest.updateExtensionConfig(packageJson.name, { ...metadata, builtIn: true, }); + } else if (this.manifest.getExtensionConfig(packageJson.name)) { + // remove the extension if it exists in the manifest + this.manifest.removeExtension(packageJson.name); } } }