A collection of tmux productivity plugins for Claude Code.
npx claudepluginhub kentwelcome/claude-tmux-toolkitAuto-opens NeoVim in a tmux split pane as a sidebar when Claude Code edits files. Keeps nvim synced in real-time with all changes.
Renames the tmux window to the current project folder name in PascalCase on session start.
A collection of Claude Code plugins for tmux productivity.
Auto-opens NeoVim in a tmux split pane when Claude edits files — giving you a real-time sidebar view of every change.
+/-) in the gutter show exactly which lines were added or removed:bn/:bp to switch)TMUX environment variableRenames the tmux window to the current project folder name in PascalCase on session start.
claude-tmux-toolkit → ClaudeTmuxToolkit
--listen/--server/--remote) — required for nvim-sidebarnvim-sidebar/plugin marketplace add command (recommended)Inside Claude Code, run:
/plugin marketplace add kentwelcome/claude-tmux-toolkit
Then install individual plugins:
claude plugin install nvim-sidebar@claude-tmux-toolkit --scope user
claude plugin install rename-window@claude-tmux-toolkit --scope user
Step 1 — Register the marketplace in your ~/.claude/settings.json (user scope) or .claude/settings.json (project scope):
{
"extraKnownMarketplaces": {
"claude-tmux-toolkit": {
"source": {
"source": "github",
"repo": "kentwelcome/claude-tmux-toolkit"
}
}
}
}
Step 2 — Install the plugins:
claude plugin install nvim-sidebar@claude-tmux-toolkit --scope user
claude plugin install rename-window@claude-tmux-toolkit --scope user
Step 1 — Clone the repo:
git clone https://github.com/kentwelcome/claude-tmux-toolkit.git
Step 2 — Add to ~/.claude/settings.json (user scope) or .claude/settings.json (project scope):
{
"extraKnownMarketplaces": {
"claude-tmux-toolkit": {
"source": {
"source": "directory",
"path": "/absolute/path/to/claude-tmux-toolkit"
}
}
},
"enabledPlugins": {
"nvim-sidebar@claude-tmux-toolkit": true,
"rename-window@claude-tmux-toolkit": true
}
}
Step 3 — Start Claude Code inside a tmux session and reload plugins:
/reload-plugins
Step 4 — Trigger a file edit (Write or Edit) to verify the nvim sidebar opens.
After making changes to scripts or hooks:
plugins/nvim-sidebar/scripts/nvim-open.sh)/reload-plugins inside Claude Code to pick up hook changesFor the best experience with nvim-sidebar, add this to your NeoVim config so files auto-reload when changed externally:
vim.opt.autoread = true
vim.api.nvim_create_autocmd({ "FocusGained", "BufEnter", "CursorHold" }, {
command = "silent! checktime",
})
Also ensure tmux has focus events enabled in your .tmux.conf:
set-option -g focus-events on
The plugin registers a PostToolUse hook on Write and Edit tool calls. On each hook invocation, the script inspects the current tmux window and picks a path:
| Window state | Action |
|---|---|
| NeoVim pane exists | Open/refresh file via server RPC (--remote + :checktime) |
| No split (single pane) | Create a new horizontal split and launch NeoVim |
| One split — idle fish shell | Launch NeoVim inside the fish pane |
| One split — other shell | Exit silently |
| 2+ splits | Exit silently |
NeoVim is started with --listen /tmp/nvim-claude-<session> so subsequent edits find it by socket. After every edit, git diff is run and +/- signs are placed in the gutter via NeoVim's sign API.