From 5c047c351d3bf6fd3f6b0d1d47311f72fc63fbed Mon Sep 17 00:00:00 2001 From: Mario Zechner Date: Wed, 21 Jan 2026 00:11:47 +0100 Subject: [PATCH] fix(coding-agent): filter out conflicting extensions from loaded list --- packages/coding-agent/src/core/resource-loader.ts | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/packages/coding-agent/src/core/resource-loader.ts b/packages/coding-agent/src/core/resource-loader.ts index 11764621..346dc696 100644 --- a/packages/coding-agent/src/core/resource-loader.ts +++ b/packages/coding-agent/src/core/resource-loader.ts @@ -283,8 +283,12 @@ export class DefaultResourceLoader implements ResourceLoader { // Detect extension conflicts (tools, commands, flags with same names from different extensions) const conflicts = this.detectExtensionConflicts(extensionsResult.extensions); - for (const conflict of conflicts) { - extensionsResult.errors.push({ path: conflict.path, error: conflict.message }); + if (conflicts.length > 0) { + const conflictingPaths = new Set(conflicts.map((c) => c.path)); + extensionsResult.extensions = extensionsResult.extensions.filter((ext) => !conflictingPaths.has(ext.path)); + for (const conflict of conflicts) { + extensionsResult.errors.push({ path: conflict.path, error: conflict.message }); + } } this.extensionsResult = this.extensionsOverride ? this.extensionsOverride(extensionsResult) : extensionsResult;