anomalyco / anomalyco/opencode
"Did you mean" suggests the exact model ID it just rejected
@neriousy is already working on this.
Since Sep 12, 2026.
- Dominant language
- TypeScript
- Stars
- 209k
- Forks
- 27.5k
- PR merge metrics
- PR metrics pending
Description
Description
When a model cannot be resolved, the "Did you mean" suggester can return the exact string it just rejected as its top suggestion:
ProviderModelNotFoundError: Model not found: opencode-omniroute/gpt-sol.
Did you mean: opencode-omniroute/gpt-sol, opencode-omniroute/claude-code-gpt-sol, aug/gpt5.6-sol?
The first suggestion is character-for-character identical to the input. This is actively misleading: it tells the user their model ID is correct while refusing to use it, which sends you looking for typos that do not exist.
Root cause (likely)
The real failure was that the provider was never registered (its plugin failed to load — see #48577). The suggester appears to search a different, more complete catalog than the one used for resolution — probably the full known-model list, rather than the set of models from successfully registered providers.
So the two components disagree: resolution says "this does not exist", suggestion says "this exists". The suggester proves the ID is well-formed and known, which means the error message is describing the wrong problem entirely. The actual problem is an unregistered provider, not an unknown model.
Impact
The misdirection is the cost. The true cause (plugin failed to load) is invisible, while the error implies a typo. I lost significant time treating this as a naming problem before discovering the provider had never registered.
Steps to reproduce
- Configure a provider supplied by a plugin, e.g.
opencode-omniroute/gpt-sol. - Make that plugin fail to load — pointing it at a non-existent directory works (#48577).
- Send any request using that model.
- The error suggests the identical string it rejected.
Expected Behavior
Either:
- Filter self-matches out of suggestions. If the suggestion equals the input, it is not a suggestion.
- Better: detect the real condition. If the model ID's provider prefix is not a registered provider, say so — e.g.
Provider 'opencode-omniroute' is not registered; check that its plugin loaded successfully— instead of framing it as an unknown model.
The second is the real fix. The suggester already has the evidence that the ID is valid; that evidence should change the diagnosis, not decorate the wrong one.
Plugins
@omniroute/opencode-plugin@0.2.1, oh-my-openagent@5.0.0-beta.34
OpenCode version
1.18.30 (also observed on an earlier build, 2026-09-03)
Operating System
macOS 26.6.2 (Darwin 25.6.0, arm64, Apple M1)
Terminal
xterm-256color; Bun 1.4.2
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.