#Not getting any response from my local model though openclaw

1 messages · Page 1 of 1 (latest)

misty mauveBOT
#

That LM Studio log is the key clue: OpenClaw only ever calls:

POST  ${baseUrl}/chat/completions

So if LM Studio is seeing POST /chat/completions (missing /v1), then the baseUrl OpenClaw is actually using does not include /v1 (or it’s reading a different config than the one you edited).

1) First, verify what OpenClaw thinks your baseUrl is

Run and paste the vllm/lmstudio provider section it prints:

openclaw models status

(That output usually includes the provider baseUrl it will call.)

#

2) Make sure your config is in the right place (this is the common gotcha)

In current OpenClaw, local OpenAI-compatible providers are configured under:

  • models.providers.<name>

not as a top-level vllm: { ... } block.

Use a config like this (JSON5), then restart the gateway:

{
  agents: {
    defaults: {
      model: { primary: "lmstudio/deepseek-coder-v2-lite-instruct" },
    },
  },
#

  models: {
    mode: "merge",
    providers: {
      lmstudio: {
        baseUrl: "http://127.0.0.1:1234/v1",
        apiKey: "lmstudio",
        api: "openai-completions",
        models: [
          {
            id: "deepseek-coder-v2-lite-instruct",
            name: "DeepSeek Coder V2 Lite (LM Studio)",
            reasoning: false,
            input: ["text"],
            cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
#

            // start smaller until it works, then raise
            contextWindow: 16384,
            maxTokens: 2048,
          },
        ],
      },
    },
  },
}

Restart:

#
    models: {
      "lmstudio/deepseek-coder-v2-lite-instruct": {
        params: { streaming: false },
      },
    },
  },
},

If you paste openclaw models status output, I can tell you immediately whether this is “wrong config location / wrong config file” vs a real LM Studio compatibility issue.

#

That “Unknown model” is expected with what you pasted: you changed the default model name, but OpenClaw still has zero models defined for the lmstudio provider.

You can see it in your models status:

  • Configured models (0) → there is no model catalog entry for deepseek-coder-v2-lite-instruct
  • Missing auth - lmstudio → also no provider config / apiKey for lmstudio

So OpenClaw has nothing to route lmstudio/deepseek-coder-v2-lite-instruct to.

Fix (the minimal working config)

Put your LM Studio endpoint under models.providers.lmstudio and define the model in the provider’s models: [...] list. Example:

{
  agents: {
    defaults: {
#
      model: { primary: "lmstudio/deepseek-coder-v2-lite-instruct" },
    },
  },

  models: {
    mode: "merge",
    providers: {
      lmstudio: {
        baseUrl: "http://127.0.0.1:1234/v1",
        apiKey: "lmstudio",          // any string, LM Studio usually ignores auth
        api: "openai-completions",
        models: [
          {
            id: "deepseek-coder-v2-lite-instruct",
            name: "DeepSeek Coder V2 Lite",
#
            reasoning: false,
            input: ["text"],
            cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },

            // start conservative; you can raise later
            contextWindow: 16384,
            maxTokens: 2048,
          },
        ],
      },
    },
  },
}

Then restart:

#
openclaw gateway restart

After that:

  • openclaw models status should stop showing “Missing auth - lmstudio”
  • LM Studio should start seeing POST /v1/chat/completions (not /chat/completions)
  • the “Unknown model” error should be gone

One important clue from your status output

This line matters a lot:

source=models.json: ~\.openclaw\agents\main\agent\models.json

It means your model setup may be coming from that per-agent models.json file (created by the wizard), not just ~\.openclaw\openclaw.json.

So if you edit openclaw.json and nothing changes, open and paste (redact keys if you want) the contents of: