fix: preserve all configured local models when loading from config (#6180)#6237
Closed
ochsec wants to merge 4 commits into
Closed
fix: preserve all configured local models when loading from config (#6180)#6237ochsec wants to merge 4 commits into
ochsec wants to merge 4 commits into
Conversation
…6180) When loading models from the config, the code was looking up existing models using the optional model.id field (if provided by the user). This caused models with the same api.id to potentially get merged into a single entry. For local Ollama models with modelIDs like 'devstral-small-2:latest' and 'devstral-small-2:24b-cloud', the lookup would use model.id (which is undefined in user configs), falling back to the full modelID. However, the issue could occur when the code tried to reuse existing models, potentially causing conflicting keys. Changed the lookup to always use modelID directly when checking for existing models, since the config parsing creates one entry per configured model ID. This ensures all user-configured models are preserved in the final provider. Adds test case to verify multiple Ollama models with similar names are all loaded.
ochsec
force-pushed
the
fix/6180-local-ollama-models-partially-missing
branch
from
December 27, 2025 05:32
632835b to
7594968
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.