diff options
| author | Jeon Suyeol <[email protected]> | 2025-12-19 01:35:40 +0900 |
|---|---|---|
| committer | GitHub <[email protected]> | 2025-12-18 10:35:40 -0600 |
| commit | 4bf882ba81ffba016357f75b8b1ea1a36f813433 (patch) | |
| tree | 8c012c213747a8fd9a206782b6731a0ad33a207e | |
| parent | d5dcc55a477aba36c5122fd6f603ab2283be44dc (diff) | |
| download | opencode-4bf882ba81ffba016357f75b8b1ea1a36f813433.tar.gz opencode-4bf882ba81ffba016357f75b8b1ea1a36f813433.zip | |
fix(command): validate model before executing slash command (#5740)
| -rw-r--r-- | packages/opencode/src/session/prompt.ts | 14 |
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 = |
