olimorris/codecompanion.nvim
{ "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"}Code with LLMs and Agents via the in-built adapters, the community adapters or by building your own
New features are always announced here
:purple_heart: Sponsors
Section titled “:purple_heart: Sponsors”Thank you to the following people:
If you love CodeCompanion and use it in your workflow, please consider sponsoring me
:sparkles: Features
Section titled “:sparkles: Features”- :speech_balloon: Copilot Chat meets Zed AI, in Neovim
- :electric_plug: Support for LLMs from Anthropic, Copilot, GitHub Models, DeepSeek, Gemini, Mistral AI, Novita, Ollama, OpenAI, Azure OpenAI, HuggingFace and xAI (or bring your own)
- :robot: Support for Agent Client Protocol, enabling coding with agents like Augment Code, Cagent from Docker, Claude Code, Codex, Gemini CLI, Goose, Kimi CLI and opencode
- :heart_hands: User contributed and supported adapters
- :rocket: Inline transformations, code creation and refactoring
- :art: Variables, Slash Commands, Tools and Workflows to improve LLM output
- :brain: Support for memory files like
CLAUDE.md,.cursor/rulesand your own custom ones - :crystal_ball: Native Super Diff for tracking agent edits
- :sparkles: Built-in prompt library for common tasks like advice on LSP errors and code explanations
- :building_construction: Create your own custom prompts, Variables and Slash Commands
- :books: Have multiple chats open at the same time
- :art: Support for vision and images as input
- :muscle: Async execution for fast performance
:camera_flash: In Action
Section titled “:camera_flash: In Action”:rocket: Getting Started
Section titled “:rocket: Getting Started”Everything you need to know about CodeCompanion (installation, configuration and usage) is within the docs.
:toolbox: Troubleshooting
Section titled “:toolbox: Troubleshooting”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 managersrequire("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.
:gift: Contributing
Section titled “:gift: Contributing”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.
:clap: Acknowledgements
Section titled “:clap: Acknowledgements”- Steven Arcangeli for his genius creation of the chat buffer and his feedback early on
- Wtf.nvim for the LSP assistant action
- CopilotChat.nvim for the rendering and usability of the chat buffer
- Aerial.nvim for the Tree-sitter parsing which inspired the symbols Slash Command
- Saghen for the fantastic docs inspiration from blink.cmp and continued PRs to the project
- Catwell for the queue inspiration that I use to stack agents and tools
- ravitemer for the fantastic extensions API
- Davidyz for his continued, excellent contributions that keep CodeCompanion going
- Conrad Irwin, Agus Zubiaga and Morgan Krey from Zed Industries for their support in implementing ACP












