-
External terminal provider to run Claude in a separate terminal (#102)
-
Terminal provider APIs: implement
ensure_visiblefor reliability (#103) -
Working directory control for Claude terminal (#117)
-
Support function values for
external_terminal_cmdfor dynamic commands (#119) -
Add
"none"terminal provider option for external CLI management (#130) -
Shift+Enter keybinding for newline in terminal input (#116)
-
focus_after_sendoption to control focus after sending to Claude (#118) -
Snacks:
snacks_win_optsto overrideSnacks.terminal.open()options (#65) -
Terminal/external quality: CWD support, stricter placeholder parsing, and
jobstartCWD (commit e21a837) -
Diff UX redesign with horizontal layout and new tab options (#111)
-
Prevent diff on dirty buffers (#104)
-
keep_terminal_focusoption for diff views (#95) -
Control behavior when rejecting “new file” diffs (#114)
-
Add Claude Haiku model + updated type annotations (#110)
-
CLAUDE_CONFIG_DIRenvironment variable support (#58) -
PartialClaudeCodeConfigtype for safer partial configs (#115) -
Generalize format hook; add floating window docs (commit 7e894e9)
-
Add env configuration option; fix
vim.notifyscheduling (#21) -
WebSocket authentication (UUID tokens) for the server (#56)
-
MCP tools compliance aligned with VS Code specs (#57)
- Wrap ERROR/WARN logging in
vim.scheduleto avoid fast-event context errors (#54) - Native terminal: do not wipe Claude buffer on window close (#60)
- Native terminal: respect
auto_closebehavior (#63) - Snacks integration: fix invalid window with
:ClaudeCodeFocus(#64) - Debounce update on selection for stability (#92)
- Update PROTOCOL.md with complete VS Code tool specs; streamline README (#55)
- Convert configuration examples to collapsible sections; add community extensions (#93)
- Local and native binary installation guide (#94)
- Auto-save plugin note and fix (#106)
- Add AGENTS.md and improve config validation notes (commit 3e2601f)
- Centralize type definitions in dedicated
types.luamodule (#108) - Devcontainer with Nix support; follow-up simplification (#112, #113)
- Add Neovim test fixture configs and helper scripts (commit 35bb60f)
- Update Nix dependencies and documentation formatting (commit a01b9dc)
- Debounce/Claude hooks refactor (commit e08921f)
- @alvarosevilla95 — first contribution in #60
- @qw457812 — first contribution in #64
- @jdurand — first contribution in #89
- @marcinjahn — first contribution in #102
- @proofer — first contribution in #98
- @ehaynes99 — first contribution in #106
- @rpbaptist — first contribution in #92
- @nerdo — first contribution in #78
- @totalolage — first contribution in #21
- @TheLazyLemur — first contribution in #18
- @nabekou29 — first contribution in #58
- Diagnostics Integration: Added comprehensive diagnostics tool that provides Claude with access to LSP diagnostics information (#34)
- File Explorer Integration: Added support for oil.nvim, nvim-tree, and neotree with @-mention file selection capabilities (#27, #22)
- Enhanced Terminal Management:
- Customizable Diff Keymaps: Made diff keymaps adjustable via LazyVim spec (#47)
- Terminal Focus: Fixed terminal focus error when buffer is hidden (#43)
- Diff Acceptance: Improved unified diff acceptance behavior using signal-based approach instead of direct file writes (#41)
- Syntax Highlighting: Fixed missing syntax highlighting in proposed diff view (#32)
- Visual Selection: Fixed visual selection range handling for
:'\<,'\>ClaudeCodeSend(#26) - Native Terminal: Implemented
bufhidden=hidefor native terminal toggle (#39)
- Testing Infrastructure: Moved test runner from shell script to Makefile for better development experience (#37)
- CI/CD: Added Claude Code GitHub Workflow (#2)
First public release of claudecode.nvim - the first Neovim IDE integration for Claude Code.
- Pure Lua WebSocket server (RFC 6455 compliant) with zero dependencies
- Full MCP (Model Context Protocol) implementation compatible with official extensions
- Interactive terminal integration for Claude Code CLI
- Real-time selection tracking and context sharing
- Native Neovim diff support for code changes
- Visual selection sending with
:ClaudeCodeSendcommand - Automatic server lifecycle management
:ClaudeCode- Toggle Claude terminal:ClaudeCodeSend- Send visual selection to Claude:ClaudeCodeOpen- Open/focus Claude terminal:ClaudeCodeClose- Close Claude terminal
- Neovim >= 0.8.0
- Claude Code CLI