Source: https://ailoot.ai/docs/integrations/codecompanion-nvim/
Canonical: https://ailoot.ai/docs/en/integrations/codecompanion-nvim/
Language: en

[Editors and IDEs](https://ailoot.ai/docs/en/integrations/#editors) 

# codecompanion.nvim

[Markdown](https://ailoot.ai/docs/en/integrations/codecompanion-nvim/index.md)

Neovim plugin · OpenAI Chat, Anthropic Messages

| Format | Where to set it up |
| --- | --- |
| OpenAI Chat, Anthropic Messages | require('codecompanion').setup({ adapters = { http = { ... } } }) using adapters.extend('openai\_compatible', ...) or extend('anthropic', ...); then interactions.chat/inline.adapter. |

## [](https://ailoot.ai/docs/integrations/codecompanion-nvim/#setup)Setup

Copy the configuration and replace `sk-...` with your key from the Ailoot Dashboard. Prefer storing the key in the environment variable `AILOOT_API_KEY`, if the application supports it.

Before starting, request GET /v1/models with your Ailoot key. Choose an exact model ID whose methods include POST /v1/chat/completions, POST /v1/messages, then use that ID in the configuration. For agents, also check tool support and the features required by your client version.

```lua
require("codecompanion").setup({
  adapters = {
    http = {
      ailoot = function()
        return require("codecompanion.adapters").extend("openai_compatible", {
          env = {
            url = "https://api.ailoot.ai",
            api_key = "AILOOT_API_KEY",        -- name of env var holding sk-...
            chat_url = "/v1/chat/completions",
          },
          schema = { model = { default = "gpt-6.1-sol" } },
        })
      end,
    },
  },
  interactions = {
    chat = { adapter = "ailoot" },
    inline = { adapter = "ailoot" },
  },
})
```

This configuration reads the key from the environment variable `AILOOT_API_KEY`. Set it before starting the application:

```bash
export AILOOT_API_KEY="sk-..."   # add to ~/.zshrc or ~/.bashrc
```

```powershell
setx AILOOT_API_KEY "sk-..."   # then restart the terminal
```

Example model: `gpt-6.1-sol`. Choose any other model from the [catalog](https://ailoot.ai/models/en/) — check that it supports the format you need.

## [](https://ailoot.ai/docs/integrations/codecompanion-nvim/#notes)Good to know

openai\_compatible separates the host (env.url, without /v1) from the path (env.chat\_url). Values in env can be an environment variable name, cmd:..., file:..., or a Lua function. The anthropic adapter can similarly be extended with a custom url for /v1/messages.

## [](https://ailoot.ai/docs/integrations/codecompanion-nvim/#check)Test

- Keep the separate env.url and env.chat\_url values from the example above. The prefix for OpenAI API methods is `https://api.ailoot.ai/v1` (or the full path if the application asks for a full URL).
- For the Anthropic format, the URL is `https://api.ailoot.ai` — the API origin. The example above does not show the full setup for this format; consult the client’s documentation for the path to use in the relevant field. The API route prefix is `/v1`.
- Ask a short question. If you get an error, check the code and Request ID, then consult [Errors and limits](https://ailoot.ai/docs/en/errors/).
- 404 immediately after setup almost always means the URL is wrong: an extra or missing `/v1`.
- 402 — insufficient balance for the reserve. Agents reserve more than chat: [why](https://ailoot.ai/docs/en/billing/reserve/).

Application documentation: [https://codecompanion.olimorris.dev/configuration/adapters-http](https://codecompanion.olimorris.dev/configuration/adapters-http)

Still have questions? Send your Request ID and a description — we'll help you troubleshoot.[Contact support](mailto:support@ailoot.ai)

## Ailoot · The company and its project portfolio





Ailoot combines established operating experience, a large client base, stable service and ongoing KPI control.





The company and its project portfolio: millions of customers; monthly sales in the billions.





Ailoot brings that operating experience to API access for AI features in customer products, agents, applications and automations.
