From 832902c8e346b1fb988bd9864b0fe5b3b8ab9609 Mon Sep 17 00:00:00 2001 From: Surma Date: Mon, 9 Feb 2026 22:27:48 +0000 Subject: [PATCH] fix: publish session.error event for invalid model selection (#8451) --- packages/opencode/src/session/prompt.ts | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/packages/opencode/src/session/prompt.ts b/packages/opencode/src/session/prompt.ts index 561e7feed..d7f73b4f6 100644 --- a/packages/opencode/src/session/prompt.ts +++ b/packages/opencode/src/session/prompt.ts @@ -321,7 +321,18 @@ export namespace SessionPrompt { history: msgs, }) - const model = await Provider.getModel(lastUser.model.providerID, lastUser.model.modelID) + const model = await Provider.getModel(lastUser.model.providerID, lastUser.model.modelID).catch((e) => { + if (Provider.ModelNotFoundError.isInstance(e)) { + const hint = e.data.suggestions?.length ? ` Did you mean: ${e.data.suggestions.join(", ")}?` : "" + Bus.publish(Session.Event.Error, { + sessionID, + error: new NamedError.Unknown({ + message: `Model not found: ${e.data.providerID}/${e.data.modelID}.${hint}`, + }).toObject(), + }) + } + throw e + }) const task = tasks.pop() // pending subtask