Claudecode.nvim banner
coder coder

Claudecode.nvim

Development community intermediate

Description

[](https://github.com/coder/claudecode.nvim/actions/workflows/test.yml)

Installation

This entry records only its repository, not the path inside it, so there is no exact command to give. Open the source below and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

README

claudecode.nvim

[](https://github.com/coder/claudecode.nvim/actions/workflows/test.yml)

**The first Neovim IDE integration for Claude Code** — bringing Anthropic's AI coding assistant to your favorite editor with a pure Lua implementation.

🎯 **TL;DR:** When Anthropic released Claude Code with VS Code and JetBrains support, I reverse-engineered their extension and built this Neovim plugin. This plugin implements the same WebSocket-based MCP protocol, giving Neovim users the same AI-powered coding experience.

What Makes This Special

When Anthropic released Claude Code, they only supported VS Code and JetBrains. As a Neovim user, I wanted the same experience — so I reverse-engineered their extension and built this.

  • 🚀 Pure Lua, Zero Dependencies — Built entirely with vim.loop and Neovim built-ins
  • 🔌 100% Protocol Compatible — Same WebSocket MCP implementation as official extensions
  • 🎓 Fully Documented Protocol — Learn how to build your own integrations (see PROTOCOL.md)
  • First to Market — Beat Anthropic to releasing Neovim support
  • 🛠️ Built with AI — Used Claude to reverse-engineer Claude's own protocol

Installation

{
  "coder/claudecode.nvim",
  dependencies = { "folke/snacks.nvim" },
  config = true,
  keys = {
    { "a", nil, desc = "AI/Claude Code" },
    { "ac", "ClaudeCode", desc = "Toggle Claude" },
    { "af", "ClaudeCodeFocus", desc = "Focus Claude" },
    { "ar", "ClaudeCode --resume", desc = "Resume Claude" },
    { "aC", "ClaudeCode --continue", desc = "Continue Claude" },
    { "am", "ClaudeCodeSelectModel", desc = "Select Claude model" },
    { "ab", "ClaudeCodeAdd %", desc = "Add current buffer" },
    { "as", "ClaudeCodeSend", mode = "v", desc = "Send to Claude" },
    {
      "as",
      "ClaudeCodeTreeAdd",
      desc = "Add file",

...