Protocol
ACP
Type
Tool
Stars
6.9k
License
Apache-2.0
Last push
Nov 8, 2026

CodeCompanion ACP tool

by olimorris• 6.9k•

Neovim AI coding plugin with built-in ACP support

About CodeCompanion

CodeCompanion is an open-source ACP tool by olimorris, written mainly in Lua. Neovim AI coding plugin with built-in ACP support. It has 6,929 GitHub stars and uses the Apache-2.0 license, and its code was last pushed on Nov 8, 2026.

New to ACP? Our ACP Protocol guide explains how it works and lists other projects built on it.

At a glance

Protocol
ACP
Type
Tool
Language
Lua
License
Apache-2.0
GitHub stars
6,929
Last push
Nov 8, 2026

Listed from public GitHub data, checked 2026-11-08. Not scanned by AgenticMart.

Questions about CodeCompanion

What is CodeCompanion?

Neovim AI coding plugin with built-in ACP support It is listed as a ACP tool, maintained in the olimorris/codecompanion.nvim repository on GitHub.

How do I install CodeCompanion?

The README in olimorris/codecompanion.nvim has the setup steps. Clone the repository with git clone https://github.com/olimorris/codecompanion.nvim.git and follow its instructions.

Is CodeCompanion an official ACP project?

No. It is a community project built on ACP, not published by the organisation that runs the protocol.

What license does CodeCompanion use?

It is published under the Apache-2.0 license. Check the license file in the repository before using it commercially.

Is CodeCompanion still maintained?

Its code was last pushed on Nov 8, 2026, and it had 6,929 GitHub stars when we checked on 2026-11-08. Look at recent issues and releases in the repository for a fuller picture.

README

<!-- panvimdoc-ignore-start --> <p align="center"> <a href="https://codecompanion.olimorris.dev"><img src="https://github.com/user-attachments/assets/73c5a28b-6110-4136-8bd3-2430a7b648f3" alt="CodeCompanion.nvim" /></a> </p> <p align="center"> <a href="https://github.com/olimorris/codecompanion.nvim/stargazers"><img src="https://img.shields.io/github/stars/olimorris/codecompanion.nvim?color=c678dd&logoColor=e06c75&style=for-the-badge"></a> <a href="https://github.com/olimorris/codecompanion.nvim/actions/workflows/ci.yml"><img src="https://img.shields.io/github/actions/workflow/status/olimorris/codecompanion.nvim/ci.yml?branch=main&label=tests&style=for-the-badge"></a> <a href="https://github.com/olimorris/codecompanion.nvim/releases"><img src="https://img.shields.io/github/v/release/olimorris/codecompanion.nvim?style=for-the-badge"></a> </p> <p align="center">A Neovim AI coding assistant for coding with LLMs (Anthropic, OpenAI, Gemini, Copilot and <a href="https://codecompanion.olimorris.dev/getting-started.html">more</a>) and AI agents. With built-in support for <a href="https://agentclientprotocol.com">Agent Client Protocol (ACP)</a>, <a href="https://codecompanion.olimorris.dev/model-context-protocol">Model Context Protocol (MCP)</a>, and agents like <a href="https://docs.anthropic.com/en/docs/claude-code/overview">Claude Code</a> and <a href="https://openai.com/codex">Codex</a></p> <p align="center">New features are always announced <a href="https://github.com/olimorris/codecompanion.nvim/discussions/categories/announcements">here</a></p>

:purple_heart: Sponsors

Thank you to the following people:

<p align="center"> <!-- sponsors --><a href="https://github.com/Alexander-Garcia"><img src="https:&#x2F;&#x2F;github.com&#x2F;Alexander-Garcia.png" width="60px" alt="User avatar: Alexander Garcia" /></a><a href="https://github.com/pixlmint"><img src="https:&#x2F;&#x2F;github.com&#x2F;pixlmint.png" width="60px" alt="User avatar: Christian Gröber" /></a><a href="https://github.com/itskyedo"><img src="https:&#x2F;&#x2F;github.com&#x2F;itskyedo.png" width="60px" alt="User avatar: Kyedo" /></a><a href="https://github.com/jsit"><img src="https:&#x2F;&#x2F;github.com&#x2F;jsit.png" width="60px" alt="User avatar: Jay Sitter" /></a><a href="https://github.com/harrisoncramer"><img src="https:&#x2F;&#x2F;github.com&#x2F;harrisoncramer.png" width="60px" alt="User avatar: Harrison (Harry) Cramer" /></a><!-- sponsors --> </p> <p align="center">If <i>you</i> love CodeCompanion and use it in your workflow, please consider <a href="https://github.com/sponsors/olimorris">sponsoring me</a></p> <!-- panvimdoc-ignore-end -->

:sparkles: Features

<!-- panvimdoc-ignore-start -->

:camera_flash: In Action

<div align="center"> <p> <h3><a href="https://github.com/user-attachments/assets/3cc83544-2690-49b5-8be6-51e671db52ef">The Chat Buffer</a></h3> <video controls muted src="https://github.com/user-attachments/assets/3cc83544-2690-49b5-8be6-51e671db52ef"></video> </p> <p> <h3><a href="https://github.com/user-attachments/assets/362b7cfd-e794-4d9c-9a74-90d5e2a87a32">Tools + Agentic Workflows</a></h3> <video controls muted src="https://github.com/user-attachments/assets/362b7cfd-e794-4d9c-9a74-90d5e2a87a32"></video> </p> <p> <h3><a href="https://github.com/user-attachments/assets/942f2868-db57-4a33-86f8-1dbfe904df07">Inline Interaction</a></h3> <video controls muted src="https://github.com/user-attachments/assets/942f2868-db57-4a33-86f8-1dbfe904df07"></video> </p> </div> <!-- panvimdoc-ignore-end -->

:rocket: Getting Started

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

You can use the @{search_help} tool to ask an LLM to search the CodeCompanion docs for you.

: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 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.

<!-- panvimdoc-ignore-start -->

: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 guide.

: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
  • bassamsdata for the amazing insert_edit_into_file tool (the list is endless) and ongoing contributions to this project
  • 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
  • Sidekick.nvim for the diff and terminal input inspiration
<!-- panvimdoc-ignore-end -->

More ACP projects

All 20 →