Protect open Neovim buffers from Claude Code's Edit/Write modifications when files have unsaved changes. Employs fast Python filename triage to block unsafe edits and automatically runs pytest suites afterward to validate changes in Python projects.
npx claudepluginhub nishantjoshi00/sidekickVS Code editor integration for interactive content editing
Git diff review integration for Claude Code with VSCode extension. Provides inline diff view, browser diff editor, and auto-open files.
Claude Powerline statusline setup wizard
Enrich coding agent prompts with codebase context using a local LLM
Self-evolving Claude Code system that learns from corrections, manages context, and improves every session
Permanent coding companion for Claude Code — survives any update. MCP-based terminal pet with ASCII art, stats, reactions, and personality.
Modifies files
Hook triggers on file write and edit operations
Share bugs, ideas, or general feedback.
Protects your unsaved Neovim work from Claude Code.
How it works:
Demo: Skip to 1:20 to see Sidekick block an edit
curl -sSL https://raw.githubusercontent.com/NishantJoshi00/sidekick/main/scripts/install.sh | bash
This script will:
1. Install Sidekick
cargo install sidekick
Don't have Rust? Install it first:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
2. Configure Claude Code Integration
# In Claude Code
/plugin marketplace add NishantJoshi00/claude-plugins
/plugin install sidekick@nishant-plugins
The plugin automatically configures the necessary hooks for Claude Code integration.
3. Set up shell alias
Add this to your shell configuration (~/.bashrc, ~/.zshrc, etc.):
alias nvim='sidekick neovim'
Then reload your shell:
source ~/.bashrc # or ~/.zshrc
That's it! Now nvim launches with Sidekick integration automatically.
cargo install sidekick
Don't have Rust? Install it first:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
Alternative: Install from source
git clone https://github.com/NishantJoshi00/sidekick
cd sidekick
cargo install --path .
Note: If you used the one-line installer above, you can skip this section!
Add this to your shell configuration (~/.bashrc, ~/.zshrc, etc.):
alias nvim='sidekick neovim'
Now every time you run nvim, you'll automatically get the Claude Code integration without thinking about it.
Add to your Claude Code configuration (~/.claude/settings.json or .claude/settings.json):
{
"hooks": {
"PreToolUse": [
{
"matcher": "MultiEdit|Edit|Write",
"hooks": [
{
"type": "command",
"command": "sidekick hook"
}
]
}
],
"PostToolUse": [
{
"matcher": "MultiEdit|Edit|Write",
"hooks": [
{
"type": "command",
"command": "sidekick hook"
}
]
}
]
}
}
That's it! Now when Claude Code attempts to edit a file:
Want Claude Code to see what you've selected in Neovim? Add this hook:
{
"hooks": {
"UserPromptSubmit": [
{
"matcher": "",
"hooks": [
{
"type": "command",
"command": "sidekick hook"
}
]
}
]
}
}
Now when you submit a prompt to Claude Code, any visual selection in Neovim is automatically injected as context:
No selection? Nothing happens — the hook is a no-op.
Just use Neovim like you always do:
nvim <file>
That's it. Seriously.
Because of the shell alias, nvim now launches with Sidekick integration automatically. You won't notice anything different—until Claude Code tries to overwrite your unsaved work, and Sidekick quietly blocks it. Work the way you want. Sidekick stays out of your way.
Socket Path: Both the neovim launcher and hook handler compute the same socket path using blake3(cwd), ensuring they connect to the same Neovim instance
Hook Interception: When Claude Code calls Edit/Write tools, Sidekick intercepts the call via stdin/stdout JSON protocol
Buffer Check: Connects to Neovim via RPC to check if the target file:
modified flag)Decision: Returns Allow or Deny permission to Claude Code, with a message displayed in Neovim when blocked
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge.
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge.
Sign in to claim