Model dropdown not populating despite valid /v1/models response #4

Open
opened 2026-04-26 09:16:47 -05:00 by libertyjoe · 3 comments

The options page model dropdown shows no models even though the endpoint is returning a valid response. LM Studio server logs confirm /v1/models is being hit and returning correct JSON:
2026-04-26 10:15:49 [DEBUG]
Received request: GET to /v1/models
2026-04-26 10:15:49 [INFO]
Returning {
"data": [
{
"id": "llama-3-13b-instruct",
"object": "model",
"owned_by": "organization_owner"
},
{
"id": "text-embedding-nomic-embed-text-v1.5",
"object": "model",
"owned_by": "organization_owner"
}
],
"object": "list"
}
The server receives the request and returns the correct data but the dropdown remains empty. Appears to be a client-side parsing issue in the options page.

Base URL used: http://localhost:1234
LM Studio version: 0.4.12
Thunderbird version: 150.0
Sortana version: 2.4.3


Failed to apply AI rules
4/26/2026, 9:50:09 AM

Message not found: 607379.

Failed to apply AI rules
4/26/2026, 9:10:02 AM

Message not found: 607348.

The options page model dropdown shows no models even though the endpoint is returning a valid response. LM Studio server logs confirm /v1/models is being hit and returning correct JSON: 2026-04-26 10:15:49 [DEBUG] Received request: GET to /v1/models 2026-04-26 10:15:49 [INFO] Returning { "data": [ { "id": "llama-3-13b-instruct", "object": "model", "owned_by": "organization_owner" }, { "id": "text-embedding-nomic-embed-text-v1.5", "object": "model", "owned_by": "organization_owner" } ], "object": "list" } The server receives the request and returns the correct data but the dropdown remains empty. Appears to be a client-side parsing issue in the options page. Base URL used: http://localhost:1234 LM Studio version: 0.4.12 Thunderbird version: 150.0 Sortana version: 2.4.3 ******************************* Failed to apply AI rules 4/26/2026, 9:50:09 AM Message not found: 607379. Failed to apply AI rules 4/26/2026, 9:10:02 AM Message not found: 607348.
Owner

So I triaged, and I'm not able to reproduce the issue locally. It's possible that you're running into a CORS issue with LM Studio. But it is hard to tell with no logging from Sortana. Unfortunately, Sortana doesn't really have logging around the model listing code path. I've added logging to Sortana in the attached build. It would be very helpful if you could enable debug logging in Sortana > Settings > Advanced > Enable debug logging, open the Developer Tools [Ctrl + Shift + I], and hit the "Refresh" button next to the model drop-down. That logging would be very helpful in tracking down what the issue might be.

So I triaged, and I'm not able to reproduce the issue locally. It's possible that you're running into a [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/CORS) issue with LM Studio. But it is hard to tell with no logging from Sortana. Unfortunately, Sortana doesn't really have logging around the model listing code path. I've added logging to Sortana in the attached build. It would be very helpful if you could enable debug logging in *Sortana > Settings > Advanced > Enable debug logging*, open the Developer Tools [Ctrl + Shift + I], and hit the "Refresh" button next to the model drop-down. That logging would be very helpful in tracking down what the issue might be.

I have exactly the same issue. See here the logs from LM Studio:

2026-05-13 09:59:49 [DEBUG] Received request: GET to /v1/models

2026-05-13 09:59:49  [INFO]
 Returning {
  "data": [
    {
      "id": "mistralai/ministral-3-3b",
      "object": "model",
      "owned_by": "organization_owner"
    },
    {
      "id": "text-embedding-qwen3-embedding-0.6b",
      "object": "model",
      "owned_by": "organization_owner"
    },
    {
      "id": "qwen/qwen3.5-9b",
      "object": "model",
      "owned_by": "organization_owner"
    },
    {
      "id": "text-embedding-nomic-embed-text-v1.5",
      "object": "model",
      "owned_by": "organization_owner"
    }
  ],
  "object": "list"
}

Server settings:
image

Logs:

[ai-filter][fetchModels@moz-extension://085d8260-1215-40c3-9d08-4543d96a8db6/options/options.js:193:20] [options] failed to load models TypeError: NetworkError when attempting to fetch resource. logger.js:23:19
[ai-filter][setConfig@moz-extension://085d8260-1215-40c3-9d08-4543d96a8db6/modules/AiClassifier.js:212:8] [AiClassifier] Endpoint base set to http://127.0.0.1:1234 logger.js:23:19
[ai-filter][setConfig@moz-extension://085d8260-1215-40c3-9d08-4543d96a8db6/modules/AiClassifier.js:213:8] [AiClassifier] Endpoint set to http://127.0.0.1:1234/v1/completions logger.js:23:19
[ai-filter][setConfig@moz-extension://085d8260-1215-40c3-9d08-4543d96a8db6/modules/AiClassifier.js:214:8] [AiClassifier] Template set to openai logger.js:23:19
[ai-filter][@moz-extension://085d8260-1215-40c3-9d08-4543d96a8db6/background.js:538:24] AiClassifier config updated from storage change 
Object { endpoint: "http://127.0.0.1:1234", model: "", apiKey: "", openaiOrganization: "", openaiProject: "", templateName: "openai", customTemplate: "", customSystemPrompt: "Determine whether the email satisfies the user's criterion.", aiParams: {…}, debugLogging: true }
logger.js:23:19
[ai-filter][@moz-extension://085d8260-1215-40c3-9d08-4543d96a8db6/background.js:542:24] htmlToMarkdown updated from storage change false logger.js:23:19
[ai-filter][@moz-extension://085d8260-1215-40c3-9d08-4543d96a8db6/background.js:546:24] stripUrlParams updated from storage change false logger.js:23:19
[ai-filter][@moz-extension://085d8260-1215-40c3-9d08-4543d96a8db6/background.js:550:24] altTextImages updated from storage change false logger.js:23:19
[ai-filter][@moz-extension://085d8260-1215-40c3-9d08-4543d96a8db6/background.js:554:24] collapseWhitespace updated from storage change false logger.js:23:19
[ai-filter][@moz-extension://085d8260-1215-40c3-9d08-4543d96a8db6/background.js:558:24] tokenReduction updated from storage change false logger.js:23:19
[ai-filter][setConfig@moz-extension://085d8260-1215-40c3-9d08-4543d96a8db6/modules/AiClassifier.js:212:8] [AiClassifier] Endpoint base set to http://127.0.0.1:1234 logger.js:23:19
[ai-filter][setConfig@moz-extension://085d8260-1215-40c3-9d08-4543d96a8db6/modules/AiClassifier.js:213:8] [AiClassifier] Endpoint set to http://127.0.0.1:1234/v1/completions logger.js:23:19
[ai-filter][setConfig@moz-extension://085d8260-1215-40c3-9d08-4543d96a8db6/modules/AiClassifier.js:214:8] [AiClassifier] Template set to openai logger.js:23:19
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://127.0.0.1:1234/v1/models. (Reason: CORS header ‘Access-Control-Allow-Origin’ missing). Status code: 200.

[ai-filter][fetchModels@moz-extension://085d8260-1215-40c3-9d08-4543d96a8db6/options/options.js:193:20] [options] failed to load models TypeError: NetworkError when attempting to fetch resource.
I have exactly the same issue. See here the logs from LM Studio: ``` 2026-05-13 09:59:49 [DEBUG] Received request: GET to /v1/models 2026-05-13 09:59:49 [INFO] Returning { "data": [ { "id": "mistralai/ministral-3-3b", "object": "model", "owned_by": "organization_owner" }, { "id": "text-embedding-qwen3-embedding-0.6b", "object": "model", "owned_by": "organization_owner" }, { "id": "qwen/qwen3.5-9b", "object": "model", "owned_by": "organization_owner" }, { "id": "text-embedding-nomic-embed-text-v1.5", "object": "model", "owned_by": "organization_owner" } ], "object": "list" } ``` Server settings: ![image](/attachments/97862f19-8a72-4457-a842-b6555d866cc9) Logs: ``` [ai-filter][fetchModels@moz-extension://085d8260-1215-40c3-9d08-4543d96a8db6/options/options.js:193:20] [options] failed to load models TypeError: NetworkError when attempting to fetch resource. logger.js:23:19 [ai-filter][setConfig@moz-extension://085d8260-1215-40c3-9d08-4543d96a8db6/modules/AiClassifier.js:212:8] [AiClassifier] Endpoint base set to http://127.0.0.1:1234 logger.js:23:19 [ai-filter][setConfig@moz-extension://085d8260-1215-40c3-9d08-4543d96a8db6/modules/AiClassifier.js:213:8] [AiClassifier] Endpoint set to http://127.0.0.1:1234/v1/completions logger.js:23:19 [ai-filter][setConfig@moz-extension://085d8260-1215-40c3-9d08-4543d96a8db6/modules/AiClassifier.js:214:8] [AiClassifier] Template set to openai logger.js:23:19 [ai-filter][@moz-extension://085d8260-1215-40c3-9d08-4543d96a8db6/background.js:538:24] AiClassifier config updated from storage change Object { endpoint: "http://127.0.0.1:1234", model: "", apiKey: "", openaiOrganization: "", openaiProject: "", templateName: "openai", customTemplate: "", customSystemPrompt: "Determine whether the email satisfies the user's criterion.", aiParams: {…}, debugLogging: true } logger.js:23:19 [ai-filter][@moz-extension://085d8260-1215-40c3-9d08-4543d96a8db6/background.js:542:24] htmlToMarkdown updated from storage change false logger.js:23:19 [ai-filter][@moz-extension://085d8260-1215-40c3-9d08-4543d96a8db6/background.js:546:24] stripUrlParams updated from storage change false logger.js:23:19 [ai-filter][@moz-extension://085d8260-1215-40c3-9d08-4543d96a8db6/background.js:550:24] altTextImages updated from storage change false logger.js:23:19 [ai-filter][@moz-extension://085d8260-1215-40c3-9d08-4543d96a8db6/background.js:554:24] collapseWhitespace updated from storage change false logger.js:23:19 [ai-filter][@moz-extension://085d8260-1215-40c3-9d08-4543d96a8db6/background.js:558:24] tokenReduction updated from storage change false logger.js:23:19 [ai-filter][setConfig@moz-extension://085d8260-1215-40c3-9d08-4543d96a8db6/modules/AiClassifier.js:212:8] [AiClassifier] Endpoint base set to http://127.0.0.1:1234 logger.js:23:19 [ai-filter][setConfig@moz-extension://085d8260-1215-40c3-9d08-4543d96a8db6/modules/AiClassifier.js:213:8] [AiClassifier] Endpoint set to http://127.0.0.1:1234/v1/completions logger.js:23:19 [ai-filter][setConfig@moz-extension://085d8260-1215-40c3-9d08-4543d96a8db6/modules/AiClassifier.js:214:8] [AiClassifier] Template set to openai logger.js:23:19 Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://127.0.0.1:1234/v1/models. (Reason: CORS header ‘Access-Control-Allow-Origin’ missing). Status code: 200. [ai-filter][fetchModels@moz-extension://085d8260-1215-40c3-9d08-4543d96a8db6/options/options.js:193:20] [options] failed to load models TypeError: NetworkError when attempting to fetch resource. ```
Owner

@redbullpeter Have you tried this with CORS turned on in LM Studio? I noticed this in your logs:

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://127.0.0.1:1234/v1/models. (Reason: CORS header ‘Access-Control-Allow-Origin’ missing). Status code: 200.

@redbullpeter Have you tried this with CORS turned on in LM Studio? I noticed this in your logs: `Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://127.0.0.1:1234/v1/models. (Reason: CORS header ‘Access-Control-Allow-Origin’ missing). Status code: 200.`
Sign in to join this conversation.
No milestone
No project
No assignees
3 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
wagesj45/Sortana#4
No description provided.