Skip to content
vic

olimorris/codecompanion.nvim

✨ AI Coding, Vim Style

olimorris/codecompanion.nvim.json
{
"createdAt": "2023-12-27T17:32:51Z",
"defaultBranch": "main",
"description": "✨ AI Coding, Vim Style",
"fullName": "olimorris/codecompanion.nvim",
"homepage": "https://codecompanion.olimorris.dev",
"language": "Lua",
"name": "codecompanion.nvim",
"pushedAt": "2025-11-26T23:19:46Z",
"stargazersCount": 5685,
"topics": [
"acp",
"agent-client-protocol",
"anthropic",
"claude-code",
"copilot",
"copilot-chat",
"deepseek",
"gemini",
"google-gemini",
"llm",
"neovim",
"nvim",
"ollama",
"openai",
"plugin",
"vibe-coding"
],
"updatedAt": "2025-11-27T00:18:45Z",
"url": "https://github.com/olimorris/codecompanion.nvim"
}

CodeCompanion.nvim

Code with LLMs and Agents via the in-built adapters, the community adapters or by building your own

New features are always announced here

Thank you to the following people:

User avatar: Qiu YuUser avatar: Adam TrepanierUser avatar: Jeff GordonUser avatar: Bryce NealUser avatar: Pratyush MittalUser avatar: Markus KollerUser avatar: Juan Carlos RuizUser avatar: Alexander GarciaUser avatar: Lumen YangUser avatar: Patricio SerranoUser avatar: JPFrancoiaUser avatar: jinzhongjiaUser avatar: Mat

If you love CodeCompanion and use it in your workflow, please consider sponsoring me

Everything you need to know about CodeCompanion (installation, configuration and usage) is within the docs.

Before raising an issue, there are a number of steps you can take to troubleshoot a problem:

Checkhealth

Run :checkhealth codecompanion and check all dependencies are installed correctly. Also take note of the log file path.

Turn on logging

Update your config and turn debug logging on:

-- lazy.nvim
{
"olimorris/codecompanion.nvim",
dependencies = {
"nvim-lua/plenary.nvim",
"nvim-treesitter/nvim-treesitter",
},
opts = {
-- NOTE: The log_level is in `opts.opts`
opts = {
log_level = "DEBUG", -- or "TRACE"
},
},
},
-- Other package managers
require("codecompanion").setup({
opts = {
log_level = "DEBUG", -- or "TRACE"
}
})

and inspect the log file as per the location from the checkhealth command.

Try with a minimal.lua file

A large proportion of issues which are raised in Neovim plugins are to do with a user’s own config. That’s why I always ask users to fill in a minimal.lua file when they raise an issue. We can rule out their config being an issue and it allows me to recreate the problem.

For this purpose, I have included a minimal.lua file in the repository for you to test out if you’re facing issues. Simply copy the file, edit it and run neovim with nvim --clean -u minimal.lua.

I am open to contributions but they will be implemented at my discretion. Feel free to open up a discussion before embarking on a PR and please read the [CONTRIBUTING.md]!(CONTRIBUTING.md) guide.