Skip to content

VS Code (Chat / Copilot)

Use KoboiLLM models in built-in VS Code Chat (GitHub Copilot) through the Custom Endpoint provider. This guide follows the KoboiLLM setup screenshots using gpt-5.6-luna and the Responses API.

Prerequisites

1. Open the Chat model settings

  1. Open the Chat panel using the icon at the top right of VS Code. On Windows/Linux, you can also press Ctrl+Alt+I.
  2. Click the model picker at the bottom of the chat input, shown as Auto in the screenshot.
  3. Select Manage Language Models. Alternatively, open the Command Palette (Ctrl+Shift+P on Windows/Linux or Cmd+Shift+P on macOS) and run Chat: Manage Language Models.

VS Code Chat panel with arrows pointing to the Chat button and Auto model picker.

Click a screenshot to view it at full size.

2. Add the KoboiLLM Custom Endpoint

In the Language Models editor, click Add Models, then select Custom Endpoint.

Add Models menu with Custom Endpoint highlighted.

Enter KoboiLLM as the Group Name and press Enter.

Group Name field containing KoboiLLM.

Follow the display-name and API-key prompts that appear. Enter your Virtual Key, for example sk-xxxxxx. For the standard configuration below, enter the key without a Bearer prefix.

When prompted for API Type, choose Responses.

API Type selection with Responses API selected.

3. Configure the model

VS Code opens chatLanguageModels.json. Use the provider object below for the KoboiLLM group. If you already have other providers, add the KoboiLLM object to the existing array and keep the other providers’ configurations.

[
{
"name": "KoboiLLM",
"vendor": "customendpoint",
"apiKey": "${input:koboillmApiKey}",
"apiType": "responses",
"models": [
{
"id": "gpt-5.6-luna",
"name": "GPT-5.6 Luna",
"url": "https://api.koboillm.com/v1/responses",
"toolCalling": true,
"thinking": true,
"supportsReasoningEffort": [
"none",
"low",
"medium",
"high",
"xhigh",
"max"
],
"reasoningEffortFormat": "responses",
"vision": true,
"maxInputTokens": 922000,
"maxOutputTokens": 128000
}
]
}
]
SettingValue / purpose
vendorcustomendpoint selects the Custom Endpoint provider
apiTyperesponses, matching the API Type selection
idThe API model name available to your Virtual Key
Model nameThe display name in the Chat model picker
urlFull endpoint: https://api.koboillm.com/v1/responses
toolCallingEnables tools for models that support them
thinking and supportsReasoningEffortDeclare reasoning support and available effort levels
visionDeclares support for image input
maxInputTokens / maxOutputTokensToken limits VS Code uses for this model

The model name, effort levels, and token limits above follow the screenshot example. If you switch models, adjust the capabilities and limits to match that model. These values do not increase the server’s model limits.

View the original configuration screenshot

KoboiLLM configuration for GPT-5.6 Luna using the Responses API; the screenshot's apiKey includes a manual Bearer prefix.

The original screenshot uses "apiKey": "Bearer ${input:koboillmApiKey}". The copyable example above uses the current standard configuration. Read the authentication notes below before adding a manual prefix.

4. Select the model and try Chat

  1. Save chatLanguageModels.json.
  2. Return to Chat and open the Auto model picker.
  3. Select GPT-5.6 Luna from the KoboiLLM group.
  4. Send a short message, for example: Reply with one word: ready.
  5. For coding assistance with tools, select Agent mode and open the project folder you want to work on.

If the model does not appear, run Developer: Reload Window or restart VS Code. You can review API usage through Check Balance & Usage.

Troubleshooting

API key rejected / 401 Unauthorized

Check that your Virtual Key is still active, contains no extra whitespace, and that the apiKey reference points to the key you entered.

For a standard Responses configuration, VS Code automatically sends Authorization: Bearer <apiKey>. Start with a plain sk-xxxxxx key and "apiKey": "${input:koboillmApiKey}". See the VS Code Custom Endpoint authentication reference.

Note from the screenshots: if authentication still fails in a version or flow that requires a manual prefix, try entering Bearer sk-xxxxxx at the API-key prompt. Keep the JSON reference free of the Bearer prefix if you already entered it in the prompt. The other approach shown in the screenshot adds the prefix to the JSON reference and uses a plain key in the prompt.

Use a manual prefix only if the client has not already added one. The resulting header must be Bearer sk-xxxxxx, not Bearer Bearer sk-xxxxxx; remove the manual prefix if it is duplicated.

Model not found or missing in Agent mode

  • Match id to the name in the KoboiLLM model list and confirm that your key has access.
  • For Agent mode, use a model with tool-calling support and "toolCalling": true.
  • Save the configuration and reload VS Code.

Endpoint or reasoning effort rejected

  • Set apiType to responses and use the full URL ending in /v1/responses.
  • If the server rejects an effort level, select a supported value and update supportsReasoningEffort accordingly.
  • For context or token-limit errors, check the model’s input and output limits. The example values do not apply to every model.

See the official VS Code language model guide for menu and configuration updates.