rashedInt32

Claude Sessions.Nvim — Development skill for Claude Code

Development community

Every Claude Code agent on your machine, in your nvim statusline — plus picker integration to jump, preview, and approve permission prompts without leaving your buffer.

How to install Claude Sessions.Nvim

This entry records only its repository, not the path inside it, so there is no exact command to give. Open rashedInt32/claude-sessions.nvim and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

What Claude Sessions.Nvim does

Every Claude Code agent on your machine, in your nvim statusline — plus picker integration to jump, preview, and approve permission prompts without leaving your buffer.

Alternatives in Development

README

claude-sessions.nvim

Shows every [Claude Code](https://claude.com/claude-code) session on your machine as colored dots in your statusline. Whatever project you're in, one glance tells you which session is working, which is done, and which one is waiting for your permission.

![statusline dots](./docs/screenshot.png)

  • 🟡 waiting — needs your permission
  • 🔴 busy — working (the dot animates)
  • 🟢 idle — done, waiting for input

Sessions running in your current project show dimmed, since you can already see those. If there are more than `max_dots`, the rest collapse into a `+N`.

It also pairs with [tmux-claude-session-manager](https://github.com/rashedInt32/tmux-claude-session-manager): hit a key, get a picker with every session, and jump to one — or approve/reject its permission prompt right there, without leaving your buffer. That works even when Claude runs inside a [sidekick.nvim](https://github.com/folke/sidekick.nvim) split.

How does it know all this? Claude Code writes a small state file for every session it runs (`~/.claude/sessions/*.json`). The plugin just reads those. No hooks, no CLI calls, nothing to set up on the Claude side.

Requirements

  • Neovim ≥ 0.10
  • Claude Code ≥ 2.1.139 (older versions don't write the session files)
  • A Nerd Font for the default icons

Optional:

  • tmux-claude-session-manager under tmux, if you want the picker. The statusline works without it.
  • sidekick.nvim, if you run Claude inside nvim and want the picker to preview and approve those sessions too.

Install

With [lazy.nvim](https://github.com/folke/lazy.nvim):

{
  "rashedInt32/claude-sessions.nvim",
  event = "VeryLazy",
  opts = {},
}

Setup

All options with their defaults:

require("claude-sessions").setup({
  dir = "~/.claude/sessions", -- honors $CL