#hey, I think through configuration changes my kimi model configuration is broken

1 messages Β· Page 1 of 1 (latest)

slate bone
#

I've gone throough multiple iterations and I think I broke my kimi config

mental jayBOT
empty girderBOT
#

To help others find answers, you can mark your question as solved via Right click solution message -> Apps -> βœ… Mark Solution

mental jayBOT
subtle shadowBOT
#

Yeah, that’s a common one. The big gotcha is that Moonshot K2 and Kimi Coding are different providers in OpenClaw.

  • Moonshot K2.5 β†’ model like moonshot/kimi-k2.5, auth via MOONSHOT_API_KEY
  • Kimi Coding β†’ model like kimi/kimi-code, auth via KIMI_API_KEY

So if you mixed moonshot/... with KIMI_API_KEY, or kimi/... with MOONSHOT_API_KEY, it’ll look broken.

First, can you paste:

openclaw --version
openclaw status --all
openclaw models status

And also tell me which one you actually want:

#
  1. moonshot/kimi-k2.5
  2. kimi/kimi-code

If you want, paste your relevant config snippet too, with keys redacted, especially:

  • agents.defaults.model
  • models.providers.moonshot
  • any env entries for Kimi/Moonshot

Docs:

If it helps, I can also give you a clean known-good minimal config for either option and we rebuild it from scratch.

slate bone
#

I want moonshot API

        "id": "kimi-for-coding",
        "name": "Kimi K2.6 Code Preview",
        "reasoning": false,
        "input": [
          "text",
          "image"

OpenClaw 2026.4.15 (041266a)

subtle shadowBOT
#

Got it. If you want the Moonshot API, the safest reset is:

  • provider: moonshot
  • env key: MOONSHOT_API_KEY
  • model ref: moonshot/... not kimi/...

Your snippet suggests you may be defining a custom Moonshot model id:

{
  env: {
    MOONSHOT_API_KEY: "sk-..."
  },
  agents: {
    defaults: {
      model: { primary: "moonshot/kimi-for-coding" }
#
    }
  },
  models: {
    mode: "merge",
    providers: {
      moonshot: {
        baseUrl: "https://api.moonshot.ai/v1",
        apiKey: "${MOONSHOT_API_KEY}",
        api: "openai-completions",
        models: [
          {
            id: "kimi-for-coding",
            name: "Kimi K2.6 Code Preview",
            reasoning: false,
            input: ["text", "image"]
#
          }
        ]
      }
    }
  }
}

Two likely breakages here:

  1. agents.defaults.model.primary is set to kimi-for-coding instead of moonshot/kimi-for-coding
  2. you overwrote the provider config without models.mode: "merge"

My recommendation: first get the bundled Moonshot model working, then add the preview model.

Minimal known-good baseline:

#
{
  env: { MOONSHOT_API_KEY: "sk-..." },
  agents: {
    defaults: {
      model: { primary: "moonshot/kimi-k2.5" }
    }
  }
}

Then test:

openclaw models status
openclaw models list --provider moonshot