Coding tools

VS Code

VS Code's built-in AI can call any OpenAI-compatible endpoint through its Custom Endpoint provider. Add xKiro as a model and it shows up in the same picker as Copilot's own models.

Wire format

OpenAI format

Base URL

https://api.xkiro.com/v1/chat/completions

Configured by

chatLanguageModels.json

This URL is the full endpoint path, not the /v1 base

Every other tool on this page is pointed at https://api.xkiro.com/v1 and appends the path itself. VS Code is the exception: the url field in chatLanguageModels.json must be the complete https://api.xkiro.com/v1/chat/completions. Pasting just the /v1 base — the value that works everywhere else — is the single most common way to break this setup.

Add a Custom Endpoint model#

Open the model picker in the Chat input and choose Manage Language Models (the gear icon), or run Chat: Manage Language Models from the Command Palette. From there:

  1. Choose Add Models, then select Custom Endpoint from the provider list (alongside Azure, Anthropic, Gemini and OpenAI).
  2. Enter a group name (this is what shows up in the model picker), a display name, and your xKiro API key.
  3. Pick an API type: Chat Completions, Responses, or Messages. Choose Chat Completions for xKiro.
  4. VS Code opens chatLanguageModels.json. Set the endpoint URL and model properties there (see below), then save the file.

chatLanguageModels.json#

The file VS Code opens for you is a plain JSON array. Set vendor to customendpoint, apiType to chatcompletions, and give each model the full endpoint URL:

chatLanguageModels.json
[
  {
    "name": "xKiro",
    "vendor": "customendpoint",
    "apiKey": "sk-xt-...",
    "apiType": "chatcompletions",
    "models": [
      {
        "id": "openai/gpt-5.6-sol",
        "name": "GPT-5.6 Sol",
        "url": "https://api.xkiro.com/v1/chat/completions",
        "toolCalling": true,
        "vision": true,
        "maxInputTokens": 200000,
        "maxOutputTokens": 64000
      }
    ]
  }
]

maxInputTokens and maxOutputTokens are hints VS Code uses for its own bookkeeping — they do not come from xKiro automatically, so match them to the model you picked at GET /v1/models.

What works without a Copilot plan#

VS Code's own docs state it plainly: "BYOK models work without signing into a GitHub account and without a Copilot plan." Chat and agent mode both work through a Custom Endpoint model with no GitHub sign-in at all.

A few features stay tied to GitHub

The same docs list what a BYOK model like xKiro cannot cover: "Some features still require a GitHub account: semantic search, inline suggestions (code completions), and features that rely on embeddings." In practice that means Tab / inline code completion keeps using Copilot's own models — a Custom Endpoint model only serves chat and agent mode.

If your organization is on Copilot Business or Enterprise, an admin policy has to be enabled before BYOK models are available at all.

If it does not work#

Send one request by hand before touching VS Code's settings again. A reply proves the URL and key are both fine, which means whatever is left is in the tool's own configuration — and that is a much smaller place to look.

curl https://api.xkiro.com/v1/chat/completions \
  -H "Authorization: Bearer $XKIRO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"openai/gpt-5.6-sol","messages":[{"role":"user","content":"ping"}],"max_tokens":8}'

An error naming an unknown model still counts as a success here: the request was authenticated before the model was rejected. Common failures and what each one means are on the overview page.

Was this page helpful?