How to Use Kimi K3 in Cursor

Jul 20, 2026

Cursor is a moving target, so the first thing to separate is native model support from OpenAI-compatible endpoint support.

As of the documentation check for this post, Cursor's public model list includes Moonshot's Kimi K2.7 Code, but it does not list kimi-k3 as a native Cursor model. Kimi's own API documentation, however, says Kimi K3 is available through Moonshot's OpenAI-compatible API with the kimi-k3 model name.

That means the reliable way to try Kimi K3 in Cursor is to use Cursor's OpenAI-compatible configuration if your Cursor build exposes it, or route Cursor through a gateway that maps an accepted OpenAI-style model request to kimi-k3.

What you need

  • A Kimi API key from the Kimi Open Platform console.
  • Kimi's OpenAI-compatible base URL: https://api.moonshot.ai/v1.
  • The Kimi model name: kimi-k3.
  • A recent Cursor build with OpenAI API key and base URL controls, or a gateway that can translate the model name Cursor sends into kimi-k3.

Set up Kimi API access

Create an API key in the Kimi Open Platform console, then keep it somewhere you can paste into Cursor or your gateway configuration.

Kimi's OpenAI-compatible setup uses:

Base URL: https://api.moonshot.ai/v1
Model: kimi-k3

Before wiring it into Cursor, it is worth testing the key outside Cursor with a small OpenAI SDK request. That removes one variable if Cursor later fails to send traffic.

import OpenAI from 'openai';

const client = new OpenAI({
  apiKey: process.env.MOONSHOT_API_KEY,
  baseURL: 'https://api.moonshot.ai/v1',
});

const response = await client.chat.completions.create({
  model: 'kimi-k3',
  messages: [{ role: 'user', content: 'Say hello in one sentence.' }],
});

console.log(response.choices[0]?.message?.content);

Add it to Cursor

In Cursor, open Settings and go to the model provider area. If your version shows OpenAI API key and base URL override controls, add your Kimi API key and set the base URL to:

https://api.moonshot.ai/v1

If Cursor asks for a model name and accepts custom names, enter:

kimi-k3

If Cursor only lets you pick fixed OpenAI model names, use a gateway in front of Kimi and configure the gateway to rewrite the selected model name to kimi-k3. In that setup, Cursor talks to the gateway's OpenAI-compatible endpoint, and the gateway talks to Kimi.

Verify the integration

Run a small request from Cursor first:

Explain this function in three bullet points.

Then check two things:

  • Cursor should return an answer in the panel you configured.
  • Kimi usage should appear in the Kimi console, or in your gateway logs if you are using one.

If usage never appears on the Kimi side, Cursor is probably still sending the request through its own backend instead of the custom endpoint.

Current limitations

The important caveat is that custom OpenAI-compatible endpoints are not the same thing as full native Cursor model support.

Cursor's public docs currently describe Kimi K2.7 Code in the model table, not Kimi K3. A third-party gateway guide also notes that Cursor's custom OpenAI-compatible endpoint path may work for planning or chat-style use, while coding-agent features such as Composer, inline edit, autocomplete, and apply/edit suggestions can remain tied to Cursor's own backend.

So treat this setup as a practical way to test Kimi K3 inside Cursor where custom endpoints are honored. If you need Cursor's full agent workflow today, use the models Cursor officially exposes in its model picker, or use the Claude Code integration for Kimi K3 where Kimi publishes an official guide.

References

Kimi K3 Team

How to Use Kimi K3 in Cursor | Kimi K3 Blog