Claude Chat.Nvim banner
WTFox WTFox

Claude Chat.Nvim

Communication community

Description

A Neovim wrapper for Claude Code workflows.

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

claude-chat.nvim

A Neovim plugin for seamless integration with Claude Code CLI.

This plugin provides a smooth wrapper around Claude Code, helping you formulate prompts and automatically sharing file context. At its core, it launches Claude with your current file, selection context, and custom promptsβ€”all without modifying Claude's configuration. Any changes Claude makes to visible buffers are immediately reflected in Neovim.

Built for Claude Code enthusiasts, mostly built _with_ Claude itself! πŸ€–

**Contributing**: Pull requests and issues are very welcome! If you want a feature that's missing, please help build it out (see "The Dream" section below).

https://github.com/user-attachments/assets/a91b3a0d-03bc-4810-b83a-c629bcf8cd46

✨ Features

  • 🎯 Smart Context Sharing: Automatically passes current file path, filetype, and text selections to Claude
  • πŸ’¬ Interactive Terminal: Chat with Claude Code in a customizable split or floating window with keybinds. ( injects current buffer filename)
  • πŸ“ Visual Selection Support: Works seamlessly with text selections and visual ranges
  • βš™οΈ Flexible Configuration: Configurable split positioning, sizing, and terminal behavior
  • πŸ‘€ Live File Watching: Real-time context updates as you work

πŸ“‹ Requirements

  • Neovim: Version 0.7 or higher
  • Claude Code CLI: Install from Claude and ensure it's available in your PATH as claude

πŸ“¦ Installation

Using [lazy.nvim](https://github.com/folke/lazy.nvim)

**Recommended (simple setup):**

{
  "wtfox/claude-chat.nvim",
  config = true,
}

**With custom options:**

{
  "wtfox/claude-chat.nvim",
  config = true,
  keys = {
    { "cc", ":ClaudeChat", mode = { "n", "v" }, desc = "Toggle Claude Chat" },
  },
  opts = {
    -- Optional configuration
    split = "vsplit",      -- "vsplit", "split", or "float"
    position = "right",    -- "right", "left", "top", "bottom" (ignor