From 7320973ab014e3aacded836fca41f5a109e58922 Mon Sep 17 00:00:00 2001 From: Ayaan Zaidi Date: Sat, 28 Mar 2026 14:45:22 +0530 Subject: [PATCH] fix(provider-wizard): avoid hook-time model normalization --- src/plugins/provider-wizard.ts | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/src/plugins/provider-wizard.ts b/src/plugins/provider-wizard.ts index 15eb082e615..07b78bc44fa 100644 --- a/src/plugins/provider-wizard.ts +++ b/src/plugins/provider-wizard.ts @@ -1,5 +1,4 @@ import { DEFAULT_PROVIDER } from "../agents/defaults.js"; -import { parseModelRef } from "../agents/model-selection.js"; import { normalizeProviderId } from "../agents/model-selection.js"; import type { OpenClawConfig } from "../config/config.js"; import type { WizardPrompter } from "../wizard/prompts.js"; @@ -333,8 +332,16 @@ export async function runProviderModelSelectedHook(params: { workspaceDir?: string; env?: NodeJS.ProcessEnv; }): Promise { - const parsed = parseModelRef(params.model, DEFAULT_PROVIDER); - if (!parsed) { + const rawModel = params.model.trim(); + if (!rawModel) { + return; + } + const slashIndex = rawModel.indexOf("/"); + const selectedProviderId = + slashIndex === -1 + ? DEFAULT_PROVIDER + : normalizeProviderId(rawModel.slice(0, slashIndex).trim()); + if (!selectedProviderId || (slashIndex !== -1 && !rawModel.slice(slashIndex + 1).trim())) { return; } @@ -343,9 +350,7 @@ export async function runProviderModelSelectedHook(params: { workspaceDir: params.workspaceDir, env: params.env, }); - const provider = providers.find( - (entry) => normalizeProviderId(entry.id) === normalizeProviderId(parsed.provider), - ); + const provider = providers.find((entry) => normalizeProviderId(entry.id) === selectedProviderId); if (!provider?.onModelSelected) { return; }