fix: preserve all configured local models when loading from config (#6180) #6237
+50
−1
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Fixes #6180 - Local ollama models partially missing
When loading models from the config, the code was looking up existing models using the optional
model.idfield, which could cause models to be inadvertently deduplicated or lost.Problem
Users configuring multiple local Ollama models with similar names (e.g.,
devstral-small-2:latestanddevstral-small-2:24b-cloud) would find that only some models appeared in the model picker.Root Cause
In
packages/opencode/src/provider/provider.tsline 614, the existing model lookup used:This could cause issues with model merging/deduplication when
model.idwas undefined.Solution
Changed the lookup to always use
modelIDdirectly:This ensures each configured model gets its own entry without any unintended merging.
Testing
✅ Added test case verifying multiple Ollama models with similar names are all loaded
✅ All 59 provider tests pass
✅ Verified against live Ollama server with 5 real models - all loaded correctly
Live Integration Test Results:
All 5 configured models loaded successfully with the fix applied.