Neovim plugin for scoped AI-assisted code editing, powered by Claude Code CLI.
Special thanks to ThePrimeagen and his 99 plugin for the inspiration behind this project.
Unlike traditional inline AI plugins that embed the entire file into the prompt, cc99 gives Claude read-only tool access (Read, Grep, Glob, LS). Claude explores the codebase on its own and gathers only the context it needs. This means:
- Smaller prompts — only the selected code and user instruction are sent
- Smarter context — Claude finds relevant code across the project, not just the current file
- Real-time progress — see what Claude is doing (reading files, searching, analyzing) as it works
- Visual selection replacement — select code, describe what you want, Claude replaces it
- Streaming status display — animated spinner + live progress messages via extmark virtual lines
- Async execution — non-blocking, keep editing while Claude works
- Auto project analysis — generates
.cc99/CC99.mdon first run for project-level context <CODE>stream parsing — status lines shown before<CODE>, replacement code extracted from within
Using lazy.nvim:
{
"your-username/cc99",
config = function()
require("cc99").setup()
end,
}- Neovim 0.10+
- Claude Code CLI installed and authenticated
- Select code in visual mode
- Press
<leader>ccmto mark the selection and open the prompt window - Type your instruction in the floating window
- Press
<leader>ccxto execute - Watch Claude's progress in virtual lines below your selection
- Code is replaced automatically when done
uto undo if needed
| Mode | Key | Action |
|---|---|---|
| Visual | <leader>ccm |
Mark selection and open prompt window |
| Normal | <leader>ccx |
Execute Claude with current prompt |
| Normal | <leader>ccq |
Close prompt window |
require("cc99").setup({
window = {
relative = "editor",
border = "rounded",
style = "minimal",
title = "cc99",
title_pos = "center",
},
})MIT