Releases: coder/claudecode.nvim
v0.3.0
Features
-
External terminal provider to run Claude in a separate terminal (#102)
-
Terminal provider APIs: implement
ensure_visible
for reliability (#103) -
Working directory control for Claude terminal (#117)
-
Support function values for
external_terminal_cmd
for dynamic commands (#119) -
Add
"none"
terminal provider option for external CLI management (#130) -
Shift+Enter keybinding for newline in terminal input (#116)
-
focus_after_send
option to control focus after sending to Claude (#118) -
Snacks:
snacks_win_opts
to overrideSnacks.terminal.open()
options (#65) -
Terminal/external quality: CWD support, stricter placeholder parsing, and
jobstart
CWD (commit e21a837) -
Diff UX redesign with horizontal layout and new tab options (#111)
-
Prevent diff on dirty buffers (#104)
-
keep_terminal_focus
option for diff views (#95) -
Control behavior when rejecting “new file” diffs (#114)
-
Add Claude Haiku model + updated type annotations (#110)
-
CLAUDE_CONFIG_DIR
environment variable support (#58) -
PartialClaudeCodeConfig
type for safer partial configs (#115) -
Generalize format hook; add floating window docs (commit 7e894e9)
-
Add env configuration option; fix
vim.notify
scheduling (#21) -
WebSocket authentication (UUID tokens) for the server (#56)
-
MCP tools compliance aligned with VS Code specs (#57)
Bug Fixes
- Wrap ERROR/WARN logging in
vim.schedule
to avoid fast-event context errors (#54) - Native terminal: do not wipe Claude buffer on window close (#60)
- Native terminal: respect
auto_close
behavior (#63) - Snacks integration: fix invalid window with
:ClaudeCodeFocus
(#64) - Debounce update on selection for stability (#92)
Documentation
- 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)
Refactors & Development
- Centralize type definitions in dedicated
types.lua
module (#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)
New Contributors
- @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
Full Changelog
v0.2.0
Summary
This release brings significant enhancements to claudecode.nvim with comprehensive diagnostics integration, expanded file explorer support, enhanced terminal management, and numerous bug fixes.
🚀 Features
- Diagnostics Integration: Added comprehensive diagnostics tool that provides Claude with access to LSP diagnostics information (#34) by @krmcbride
- File Explorer Integration: Added support for oil.nvim, nvim-tree, and neotree with @-mention file selection capabilities (#27) by @Peeeaje, (#22) by @ThomasK33
- Enhanced Terminal Management:
- Added
ClaudeCodeFocus
command for smart toggle behavior (#40) by @ThomasK33 - Implemented auto terminal provider detection (#36) by @ThomasK33
- Added configurable auto-close and enhanced terminal architecture (#31) by @ThomasK33
- Added
- Customizable Diff Keymaps: Made diff keymaps adjustable via LazyVim spec (#47) by @ThomasK33
🐛 Bug Fixes
- Terminal Focus: Fixed terminal focus error when buffer is hidden (#43) by @ThomasK33
- Diff Acceptance: Improved unified diff acceptance behavior using signal-based approach instead of direct file writes (#41) by @ThomasK33
- Syntax Highlighting: Fixed missing syntax highlighting in proposed diff view (#32) by @app/blink-so
- Visual Selection: Fixed visual selection range handling for
:'\<,'\>ClaudeCodeSend
(#26) by @app/blink-so - Native Terminal: Implemented
bufhidden=hide
for native terminal toggle (#39) by @ThomasK33
🛠️ Development Improvements
- Testing Infrastructure: Moved test runner from shell script to Makefile for better development experience (#37) by @ThomasK33
- Release Process: Added comprehensive release documentation and version management guidelines
📦 Installation
{
"coder/claudecode.nvim",
config = true,
keys = {
{ "<leader>ac", "<cmd>ClaudeCode<cr>", desc = "Toggle Claude" },
{ "<leader>af", "<cmd>ClaudeCodeFocus<cr>", desc = "Focus Claude" },
{ "<leader>as", "<cmd>ClaudeCodeSend<cr>", mode = "v", desc = "Send to Claude" },
{ "<leader>aa", "<cmd>ClaudeCodeDiffAccept<cr>", desc = "Accept diff" },
{ "<leader>ad", "<cmd>ClaudeCodeDiffDeny<cr>", desc = "Deny diff" },
},
}
📋 Requirements
- Neovim >= 0.8.0
- Claude Code CLI installed
- Optional: folke/snacks.nvim for enhanced terminal support
Full Changelog: v0.1.0...v0.2.0
What's Changed
- feat: add nvim-tree and neotree integration by @ThomasK33 in #22
- feat: configurable auto-close and enhanced terminal architecture by @ThomasK33 in #31
- Fix visual selection range handling for :'<,'>ClaudeCodeSend by @blink-so in #26
- Fix missing syntax highlighting in proposed diff view by @blink-so in #32
- feat: add auto terminal provider detection by @ThomasK33 in #36
- refactor: move test runner from shell script to Makefile by @ThomasK33 in #37
- feat: implement bufhidden=hide for native terminal toggle by @ThomasK33 in #39
- feat: add ClaudeCodeFocus command for smart toggle behavior by @ThomasK33 in #40
- fix: use signal-based diff acceptance instead of direct file writes by @ThomasK33 in #41
- feat: diagnostics tool implementation by @krmcbride in #34
- feat: add oil.nvim support for file selection by @Peeeaje in #27
- fix: address terminal focus error when buffer is hidden by @ThomasK33 in #43
- feat: make diff keymaps adjustable via LazyVim spec by @ThomasK33 in #47
- Release: prepare v0.2.0 by @ThomasK33 in #48
New Contributors
- @blink-so made their first contribution in #26
- @krmcbride made their first contribution in #34
- @Peeeaje made their first contribution in #27
Full Changelog: v0.1.0...v0.2.0
v0.1.0
What's Changed
- implemented a neovim MCP server over websocket to integrate with Claude Code
Full Changelog: https://github.com/coder/claudecode.nvim/commits/v0.1.0