copilot.lua and CopilotChat.nvim
These are complements that work together: copilot.lua provides the core GitHub Copilot integration for code completion, while CopilotChat.nvim layers on conversational AI capabilities using the same backend, allowing users to use both simultaneously for enhanced coding assistance.
About copilot.lua
zbirenbaum/copilot.lua
Fully featured & enhanced replacement for copilot.vim complete with API for interacting with Github Copilot
Implements a pure Lua architecture with separate panel and suggestion modules for lower resource overhead compared to the VimScript original. Supports both Node.js LSP and custom binary servers, with optional NES (neural code suggestions) functionality via copilot-lsp integration. Provides granular control through configurable suggestion triggers, debouncing, and buffer-scoped toggles, plus seamless integration with completion plugins like nvim-cmp and blink.cmp.
About CopilotChat.nvim
CopilotC-Nvim/CopilotChat.nvim
Chat with GitHub Copilot in Neovim
Supports multiple AI models (GPT-4o, Claude, Gemini, o3-mini) via GitHub's Copilot API and custom providers like Ollama, with tool calling that allows the LLM to execute workspace functions (file reading, git operations, search) pending user approval. Features a resource/tool annotation system (`#file`, `@copilot`), sticky prompts for persistent context, token-efficient history management via tiktoken, and a comprehensive Lua API for scriptable/headless automation.
Related comparisons
Scores updated daily from GitHub, PyPI, and npm data. How scores work