From 40667ceae90b83a93141460f319b2647a1ce170c Mon Sep 17 00:00:00 2001 From: cte Date: Tue, 2 Sep 2025 22:51:20 -0700 Subject: [PATCH 1/3] Send custom modes to the extension bridge --- src/core/webview/ClineProvider.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/core/webview/ClineProvider.ts b/src/core/webview/ClineProvider.ts index 504e9f3e553..ab91e1f5c31 100644 --- a/src/core/webview/ClineProvider.ts +++ b/src/core/webview/ClineProvider.ts @@ -2392,7 +2392,9 @@ export class ClineProvider // Modes public async getModes(): Promise<{ slug: string; name: string }[]> { - return DEFAULT_MODES.map((mode) => ({ slug: mode.slug, name: mode.name })) + const defaultModes = DEFAULT_MODES.map((mode) => ({ slug: mode.slug, name: mode.name })) + const customModes = await this.customModesManager.getCustomModes() + return [...defaultModes, ...customModes] } public async getMode(): Promise { From 0723e539c8acc7fab879df4d86400105e61b9e90 Mon Sep 17 00:00:00 2001 From: cte Date: Tue, 2 Sep 2025 22:55:24 -0700 Subject: [PATCH 2/3] Small tweak --- src/core/webview/ClineProvider.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/core/webview/ClineProvider.ts b/src/core/webview/ClineProvider.ts index ab91e1f5c31..f94aa20d883 100644 --- a/src/core/webview/ClineProvider.ts +++ b/src/core/webview/ClineProvider.ts @@ -2392,9 +2392,8 @@ export class ClineProvider // Modes public async getModes(): Promise<{ slug: string; name: string }[]> { - const defaultModes = DEFAULT_MODES.map((mode) => ({ slug: mode.slug, name: mode.name })) const customModes = await this.customModesManager.getCustomModes() - return [...defaultModes, ...customModes] + return [...DEFAULT_MODES, ...customModes].map((mode) => ({ slug: mode.slug, name: mode.name })) } public async getMode(): Promise { From cb6527b34a26f90be5b6f7aa49126d1970b776cf Mon Sep 17 00:00:00 2001 From: cte Date: Tue, 2 Sep 2025 23:00:26 -0700 Subject: [PATCH 3/3] PR feedback --- src/core/webview/ClineProvider.ts | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/core/webview/ClineProvider.ts b/src/core/webview/ClineProvider.ts index f94aa20d883..5a6a6ce2d0f 100644 --- a/src/core/webview/ClineProvider.ts +++ b/src/core/webview/ClineProvider.ts @@ -2392,8 +2392,12 @@ export class ClineProvider // Modes public async getModes(): Promise<{ slug: string; name: string }[]> { - const customModes = await this.customModesManager.getCustomModes() - return [...DEFAULT_MODES, ...customModes].map((mode) => ({ slug: mode.slug, name: mode.name })) + try { + const customModes = await this.customModesManager.getCustomModes() + return [...DEFAULT_MODES, ...customModes].map(({ slug, name }) => ({ slug, name })) + } catch (error) { + return DEFAULT_MODES.map(({ slug, name }) => ({ slug, name })) + } } public async getMode(): Promise {