From e4f63f585f01a8ff6483cd0b7058acb685cd2768 Mon Sep 17 00:00:00 2001 From: Melih Mucuk Date: Mon, 5 Jan 2026 13:26:41 +0300 Subject: [PATCH] fix(coding-agent): load extensions from settings.json SettingsManager was created after extension loading, so extensions defined in settings.json were never loaded. Move SettingsManager.create before discoverAndLoadExtensions and merge settings extensions with CLI --extension args. --- packages/coding-agent/src/main.ts | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/packages/coding-agent/src/main.ts b/packages/coding-agent/src/main.ts index d740b7fa..eaa164cd 100644 --- a/packages/coding-agent/src/main.ts +++ b/packages/coding-agent/src/main.ts @@ -298,7 +298,10 @@ export async function main(args: string[]) { const cwd = process.cwd(); const agentDir = getAgentDir(); const eventBus = createEventBus(); - const extensionPaths = firstPass.extensions ?? []; + const settingsManager = SettingsManager.create(cwd); + time("SettingsManager.create"); + // Merge CLI --extension args with settings.json extensions + const extensionPaths = [...settingsManager.getExtensionPaths(), ...(firstPass.extensions ?? [])]; const { extensions: loadedExtensions } = await discoverAndLoadExtensions(extensionPaths, cwd, agentDir, eventBus); time("discoverExtensionFlags"); @@ -357,8 +360,6 @@ export async function main(args: string[]) { process.exit(1); } - const settingsManager = SettingsManager.create(cwd); - time("SettingsManager.create"); const { initialMessage, initialImages } = await prepareInitialMessage(parsed, settingsManager.getImageAutoResize()); time("prepareInitialMessage"); const isInteractive = !parsed.print && parsed.mode === undefined;