Claude Code Extra
ai.claudecode installs coder/claudecode.nvim for Claude Code CLI sessions
inside Blak. It is never enabled by default, and its keymaps are registered
through Blak so they appear in :BlakKeys.
Enable it
-- ~/.config/blak/lua/blak/user.luareturn { extras = { enabled = { "ai.claudecode", }, },}Because this extra adds a plugin, run:
:BlakExtras syncWhat it adds
| Surface | Contribution |
|---|---|
| Plugin | coder/claudecode.nvim |
| Dependency | folke/snacks.nvim |
| Load trigger | :ClaudeCode* commands |
| Defaults | terminal.provider = "snacks" |
| Keymap | <leader>ac toggles Claude Code |
| Keymap | <leader>aF focuses Claude Code |
| Keymap | <leader>ar resumes Claude Code |
| Keymap | <leader>aC continues Claude Code |
| Keymap | <leader>am selects a Claude model |
| Keymap | <leader>ab adds the current buffer |
| Keymap | <leader>as sends the visual selection |
| Keymap | <leader>aA accepts the current diff |
| Keymap | <leader>aD denies the current diff |
The keymaps appear in :BlakKeys.
Commands
The plugin also exposes commands for less common actions:
:ClaudeCode:ClaudeCodeFocus:ClaudeCodeOpen:ClaudeCodeClose:ClaudeCodeStart:ClaudeCodeStop:ClaudeCodeStatus:ClaudeCodeSelectModel:ClaudeCodeSend:ClaudeCodeAdd %:ClaudeCodeTreeAdd:ClaudeCodeDiffAccept:ClaudeCodeDiffDenyConfigure Claude Code
Claude Code options are passed through ai.claudecode:
return { extras = { enabled = { "ai.claudecode" }, }, ai = { claudecode = { log_level = "info", terminal = { provider = "snacks", split_side = "right", split_width_percentage = 0.30, }, diff_opts = { layout = "vertical", }, }, },}Set terminal_cmd if your Claude Code CLI is installed somewhere unusual:
return { extras = { enabled = { "ai.claudecode" }, }, ai = { claudecode = { terminal_cmd = vim.fn.expand("~/.claude/local/claude"), }, },}Verify it
Install the Claude Code CLI, then run:
:ClaudeCode:ClaudeCodeStatus:BlakDoctorDisable it
:BlakExtras disable ai.claudecode:BlakExtras syncRestart Blak to unload the plugin from the current session.