> ## Documentation Index
> Fetch the complete documentation index at: https://docs.nomask.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Kilo Code

> Configure NoMask in Kilo Code with a custom connection.

Use NoMask in Kilo Code with an OpenAI-compatible connection and a tool-capable text model.

## Before you start

* Create a key on the [API Keys page](https://nomask.ai/api/keys) and add funds to your API balance.
* Choose a text model with **Function calling** and streaming on the [Models page](https://nomask.ai/models). Copy its exact model ID.
* Use the connection values below. Replace key placeholders locally; keep secrets out of project files and source control.

| Setting | Value |
| - | - |
| **API base URL** | `https://api.nomask.ai/v1` |
| **Model ID** | `your-model-id` |
| **API key** | Your NoMask API key |

> [!NOTE]
>
> Replace `your-model-id` throughout the examples with the exact ID of a text model that supports function calling and streaming. Check the [Models page](https://nomask.ai/models) for current availability and limits.

Examples use your selected model. If you change it, also update context, output and image settings to match that model. These guides cover text models; Image Studio models use separate image endpoints.

## Configure Kilo Code

In VS Code's Extensions view, find Kilo Code. Its current installation guide uses **Install Pre-Release Version** from the Install dropdown. Open Kilo's panel and a workspace folder.

### Settings UI

1. Open the gear icon, select the **Providers** tab, and choose **Custom provider**.
2. Use a unique local ID such as `nomask` and display name **NoMask**.
3. Set **Provider API** to **OpenAI Compatible**, Base URL to `https://api.nomask.ai/v1`, and API key to your NoMask key.
4. Use Fetch models, or add `your-model-id` manually. Submit the connection and choose the model in Kilo's model picker.

Use OpenAI Compatible for every NoMask text model. This connection sends requests to `/chat/completions`. NoMask does not expose `/responses` or `/messages`.

### Global config alternative

Instead of the UI setup, open **Global Config** in Kilo's Settings header and merge this supported `kilo.jsonc` configuration with your existing file. The standard location is `~/.config/kilo/kilo.jsonc`; on Windows, use your user folder's `.config/kilo/kilo.jsonc`.

```json theme={"system"}
{
  "$schema": "https://app.kilo.ai/config.json",
  "model": "openai-compatible/nomask-model",
  "provider": {
    "openai-compatible": {
      "options": {
        "apiKey": "{env:NOMASK_API_KEY}",
        "baseURL": "https://api.nomask.ai/v1"
      },
      "models": {
        "nomask-model": {
          "id": "your-model-id",
          "name": "NoMask coding model",
          "tool_call": true
        }
      }
    }
  }
}
```

The local alias `nomask-model` sends `your-model-id` through its `id` field. This preserves the API model ID even when it contains a slash. The `provider` key is Kilo's documented compatibility configuration schema.

> [!NOTE]
>
> Before using this file, add the selected model's actual `limit.context` and `limit.output` from [Models](https://nomask.ai/models). No token limits are guessed when the catalog is unavailable.

Set `NOMASK_API_KEY` in the environment inherited by the editor, then restart the editor. Kilo resolves `{env:...}` credentials in trusted global config, not an ordinary repository config. Keep the actual key out of project files.

The snippet is a configuration file to merge, not a complete exported settings backup. Save the config, select `openai-compatible/nomask-model`, and confirm the active model before testing.

## Test chat and tools

Open a small test folder in the editor and add a file named `hello.txt` containing `Hello`. Start a new task with the NoMask connection selected.

1. Ask for a short text reply first: `Reply with the word ready.`
2. Ask `Read hello.txt and tell me what it contains.` Approve the file-read action if prompted.
3. Choose **Code mode**, then ask `Change hello.txt to say Hello from NoMask. Do not change any other file.`
4. Review the proposed diff, approve it, and check the saved file. A reply alone does not verify that file editing works.

Text, a file-read tool action and an applied edit confirm the complete connection. These tasks make billable API requests; inspect their usage on your [API overview](https://nomask.ai/api/overview).

If Kilo can answer but cannot edit, check the selected agent's edit permissions and model selection. The config declares `tool_call: true` for a model that already supports function calling; it cannot add tool support to a model.

## Troubleshooting

* **401:** check that your key is active and available to the process running the tool. Restart the tool after changing environment variables.
* **402:** add funds to your API balance or reduce the requested output.
* **404:** check the exact model ID and base URL. Direct connections use Chat Completions, not Responses or Anthropic Messages.
* **429:** wait for `Retry-After`. API keys share account limits; creating another key does not reset usage. Check the key's monthly spending cap too.
* **Context or tool errors:** start a shorter task, lower the output limit and confirm the model supports function calling. A plain text reply alone does not confirm file-editing tools work.

Check [API Overview](https://nomask.ai/api/overview) for usage and recent errors. Include the request ID when contacting support; never send your key. See [Errors](https://docs.nomask.ai/errors.md) and [Rate Limits](https://docs.nomask.ai/rate-limits.md).

## Official references

Setup checked against the documentation below. Tool versions may change their settings or configuration format.

* [Kilo Code installation](https://kilo.ai/docs/getting-started/installing)
* [Kilo Code custom models and Chat Completions setup](https://kilo.ai/docs/code-with-ai/agents/custom-models)
* [Kilo Code settings and global config](https://kilo.ai/docs/getting-started/settings)
* [Kilo Code configuration schema](https://app.kilo.ai/config.json)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.