RadarTopicsBuildersWeeklyReads
Open Source Radar
coder/

claudecode.nvim

GitHub

claudecode.nvim is a pure Lua Neovim plugin that provides an IDE-like integration with Claude Code via a WebSocket MCP protocol. It exposes commands and keys to manage Claude, supports local/local binary install options, and includes configuration for server, terminal, and provider behavior.

3.0kstars
211forks
85issues
MITlicense
2025since
Star historydaily snapshots by VibeCrowd

Collecting history — the radar snapshots this repo daily. The trend line appears after 3 days of data (1 so far).

Alternatives & relatedmatched by topic overlap
Reviewgenerated from repository data · Aug 5, 2026

What it is

claudecode.nvim is a Neovim IDE integration for Claude Code, implemented in Lua with zero external dependencies. It implements the WebSocket MCP protocol used by Claude Code and exposes a set of commands and keymaps to manage Claude within Neovim.

How it works

The plugin creates a WebSocket server that Claude Code CLI connects to, implementing the same MCP protocol as Claude's official extensions. It negotiates a port, writes a lock file for discovery, and sets environment variables so Claude connects to Neovim. It uses a pure Lua MCP/JSON-RPC implementation and tracks selection for real-time context.

Getting started

Installation example from README:

{
  "coder/claudecode.nvim",
  dependencies = { "folke/snacks.nvim" },
  config = true,
  cmd = {
    "ClaudeCode",
    "ClaudeCodeFocus",
    "ClaudeCodeSelectModel",
    "ClaudeCodeAdd",
    "ClaudeCodeSend",
    "ClaudeCodeTreeAdd",
    "ClaudeCodeStatus",
    " ClaudeCodeStart",
    " ClaudeCodeStop",
    "ClaudeCodeOpen",
    "ClaudeCodeClose",
    "ClaudeCodeDiffAccept",
    "ClaudeCodeDiffDeny",
    "ClaudeCodeCloseAllDiffs",
  },
  keys = {
    { "<leader>a", nil, desc = "AI/Claude Code" },
    { "<leader>ac", "<cmd>ClaudeCode<cr>", desc = "Toggle Claude" },
    { "<leader>af", "<cmd>ClaudeCodeFocus<cr>", desc = "Focus Claude" },
    { "<leader>ar", "<cmd>ClaudeCode --resume<cr>", desc = "Resume Claude" },
    { "<leader>aC", "<cmd>ClaudeCode --continue<cr>", desc = "Continue Claude" },
    { "<leader>am", "<cmd>ClaudeCodeSelectModel<cr>", desc = "Select Claude model" },
    { "<leader>ab", "<cmd>ClaudeCodeAdd %<cr>", desc = "Add current buffer" },
    { "<leader>as", "<cmd>ClaudeCodeSend<cr>", mode = "v", desc = "Send to Claude" },
    { "<leader>as", "<cmd>ClaudeCodeTreeAdd<cr>", desc = "Add file", ft = { "NvimTree", "neo-tree", "oil", "minifiles", "netrw", "snacks_picker_list" } },
    { "<leader>aa", "<cmd>ClaudeCodeDiffAccept<cr>", desc = "Accept diff" },
    { "<leader>ad", "<cmd>ClaudeCodeDiffDeny<cr>", desc = "Deny diff" },
  },
}

Lazy-loading is enabled by default; commands load on first use unless lazy = false is set.

Recent releases

  • v0.3.0 (2025-09-16): Terminals everywhere, sturdier diffs, and a friendlier protocol; External terminal provider to run Claude in a separate window; Support for custom/out-of-tree terminal providers via a provider
  • v0.2.0 (2025-06-18): Tree Explorers, Diagnostics, and Smarter Terminals; integrates with file tree, surfaces LSP diagnostics, and improved terminal focus
  • v0.1.0 (2025-06-02): First public release; Neovim IDE integration for Claude Code

Traction

stars_7d: 2982 stars_1d: 2982

Behind the repo

Link not provided in facts

Caveats

  • License: MIT
  • Created: 2025-05-21
  • Last push: 2026-07-21
  • Neovim requirement: 0.8.0+
  • Claude Code CLI required
  • Local installation and native binary installation options supported with specific config examples included
SharePost on XLinkedIn
All trending reposRevenue-verified startups →