🐞 Bug Summary
In the Add/Edit LLM Model modal (LLM Settings tab), the Model ID field uses a native HTML for suggestions. After selecting a model, the browser filters the suggestion list to only entries matching the current input value. This shows a single option that appears visually like a tooltip instead of the full model list. This makes it impossible to switch to a different model without manually clearing the field first. The native datalist also renders inconsistently across browsers, appearing as a floating tooltip rather than a styled dropdown consistent with the rest of the admin UI.
🧩 Affected Component
Select the area of the project impacted:
🔁 Steps to Reproduce
- Navigate to the admin panel → LLM Settings tab → Models sub-tab
- Click Add Model
- Select a provider that has models available (e.g. Ollama)
- Click the refresh (↺) button to fetch available models
- Select any model from the suggestion list (e.g. granite4:tiny-h)
- Click back into the Model ID field and attempt to view or switch to a different model
🤔 Expected Behavior
Clicking or focusing the Model ID field should display the full list of available models regardless of the currently selected value, allowing the user to browse and switch selections freely. The suggestions list should be styled consistently with the rest of the admin UI (matching the Provider select dropdown above it).
📓 Logs / Error Output
No console errors. Visual-only regression — the native datalist popup filters to a single matching entry and renders as a browser-native tooltip bubble.
🧠 Environment Info
You can retrieve most of this from the /version endpoint.
| Key |
Value |
| Version or commit |
main |
| Runtime |
Python 3.11 |
🧩 Additional Context (optional)
The field is implemented as <input type="text" list="llm-model-suggestions"> + <datalist> populated via fetchModelsForModelModal(). The fix is to replace it with a custom Alpine.js combobox (consistent with the existing team-selector pattern in the codebase) that: stores the full model list independently of the filter text, resets the filter on open to always show all options, and falls back to free-text entry for model IDs not returned by the provider API.
🐞 Bug Summary
In the Add/Edit LLM Model modal (LLM Settings tab), the Model ID field uses a native HTML for suggestions. After selecting a model, the browser filters the suggestion list to only entries matching the current input value. This shows a single option that appears visually like a tooltip instead of the full model list. This makes it impossible to switch to a different model without manually clearing the field first. The native datalist also renders inconsistently across browsers, appearing as a floating tooltip rather than a styled dropdown consistent with the rest of the admin UI.
🧩 Affected Component
Select the area of the project impacted:
mcpgateway- APImcpgateway- UI (admin panel)mcpgateway.wrapper- stdio wrapper🔁 Steps to Reproduce
🤔 Expected Behavior
Clicking or focusing the Model ID field should display the full list of available models regardless of the currently selected value, allowing the user to browse and switch selections freely. The suggestions list should be styled consistently with the rest of the admin UI (matching the Provider
selectdropdown above it).📓 Logs / Error Output
No console errors. Visual-only regression — the native
datalistpopup filters to a single matching entry and renders as a browser-native tooltip bubble.🧠 Environment Info
You can retrieve most of this from the
/versionendpoint.🧩 Additional Context (optional)
The field is implemented as
<input type="text" list="llm-model-suggestions"> + <datalist>populated via fetchModelsForModelModal(). The fix is to replace it with a custom Alpine.js combobox (consistent with the existing team-selector pattern in the codebase) that: stores the full model list independently of the filter text, resets the filter on open to always show all options, and falls back to free-text entry for model IDs not returned by the provider API.