diff --git a/packages/core/src/extension/extensionManager.ts b/packages/core/src/extension/extensionManager.ts index 0d146af9a..6a5c88d1c 100644 --- a/packages/core/src/extension/extensionManager.ts +++ b/packages/core/src/extension/extensionManager.ts @@ -551,12 +551,17 @@ export class ExtensionManager { async loadExtensionsFromDir(dir: string): Promise { const storage = new Storage(dir); const extensionsDir = storage.getExtensionsDir(); - if (!fs.existsSync(extensionsDir)) { + + let subdirs: string[]; + try { + subdirs = fs.readdirSync(extensionsDir); + } catch { + // Directory doesn't exist or is inaccessible return []; } const extensions: Extension[] = []; - for (const subdir of fs.readdirSync(extensionsDir)) { + for (const subdir of subdirs) { const extensionDir = path.join(extensionsDir, subdir); const extension = await this.loadExtension({