summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--packages/opencode/src/session/prompt.ts14
1 files changed, 14 insertions, 0 deletions
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 =