Skip to content

LM Studio models return empty list due to strict "llm" filter #3668

Description

@smwi

Related issue: #3263

In this file:

.filter((model: any) => model.type === "llm")

the code filters models using:

filter((model) => model.type === "llm")

However, LM Studio’s /api/v0/models endpoint returns models that are not labeled "llm", even when they are usable chat models. I assume "vlm" is in reference to the model also being vision capable (https://lmstudio.ai/docs/typescript/llm-prediction/image-input).

Example response from LM Studio

{
  "data": [
    {
      "id": "google/gemma-4-e4b",
      "object": "model",
      "type": "vlm",
      "publisher": "google",
      "arch": "gemma4",
      "compatibility_type": "mlx",
      "quantization": "4bit",
      "state": "loaded",
      "max_context_length": 131072,
      "loaded_context_length": 8192,
      "capabilities": [
        "tool_use"
      ]
    },
    {
      "id": "text-embedding-nomic-embed-text-v1.5",
      "object": "model",
      "type": "embeddings",
      "publisher": "nomic-ai",
      "arch": "nomic-bert",
      "compatibility_type": "gguf",
      "quantization": "Q4_K_M",
      "state": "not-loaded",
      "max_context_length": 2048
    }
  ],
  "object": "list"
}

Observed behavior

Because none of the returned models have type: "llm", the filter removes everything, resulting in:

Successfully fetched 0 models from LM Studio

This can also be confirmed in logs (macOS):

~/Library/Logs/Dyad/main.log

[2026-06-20 21:56:05.866] [info] (lmstudio_handler) Successfully fetched 0 models from LM Studio

Suggested fix

A minimal fix is to include "vlm":

filter((model) => model.type === "llm" || model.type === "vlm")

Alternatively, a more robust approach may be to exclude only embeddings:

filter((model) => model.type !== "embeddings")

This should allow LM Studio chat-capable models (including multimodal ones) to appear correctly.


Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions