From 4bf882ba81ffba016357f75b8b1ea1a36f813433 Mon Sep 17 00:00:00 2001 From: Jeon Suyeol Date: Fri, 19 Dec 2025 01:35:40 +0900 Subject: [PATCH] fix(command): validate model before executing slash command (#5740) --- packages/opencode/src/session/prompt.ts | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/packages/opencode/src/session/prompt.ts b/packages/opencode/src/session/prompt.ts index ff5194d55..cbb3eedf3 100644 --- a/packages/opencode/src/session/prompt.ts +++ b/packages/opencode/src/session/prompt.ts @@ -1333,6 +1333,20 @@ export namespace SessionPrompt { if (input.model) return Provider.parseModel(input.model) return await lastModel(input.sessionID) })() + + try { + await Provider.getModel(model.providerID, model.modelID) + } catch (e) { + if (Provider.ModelNotFoundError.isInstance(e)) { + const { providerID, modelID, suggestions } = e.data + const hint = suggestions?.length ? ` Did you mean: ${suggestions.join(", ")}?` : "" + Bus.publish(Session.Event.Error, { + sessionID: input.sessionID, + error: new NamedError.Unknown({ message: `Model not found: ${providerID}/${modelID}.${hint}` }).toObject(), + }) + } + throw e + } const agent = await Agent.get(agentName) const parts =