Hangar.Nvim banner
yal212 yal212

Hangar.Nvim

Git community

Description

Run a fleet of coding agents in parallel git worktrees. Review and merge from a dashboard inside Neovim.

Installation

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

README

hangar.nvim

[![Release](https://img.shields.io/github/v/release/yal212/hangar.nvim?label=release&color=blue)](https://github.com/yal212/hangar.nvim/releases/latest) [![CI](https://github.com/yal212/hangar.nvim/actions/workflows/ci.yml/badge.svg)](https://github.com/yal212/hangar.nvim/actions/workflows/ci.yml) [![Neovim](https://img.shields.io/badge/Neovim-0.10%2B-57A143?logo=neovim&logoColor=white)](https://neovim.io)

**Run a fleet of coding agents in parallel git worktrees. Review and merge from a dashboard.**

Spawn headless agent runs — [Claude Code](https://claude.com/claude-code) (default), OpenAI Codex, Gemini CLI, or OpenCode — on different tasks, each in its own git worktree and branch. Watch them work live, diff the results, merge the winners, discard the rest. Never leave Neovim.

*Think: lazygit for coding agents.*

![hangar.nvim: spawn a fleet of agents, watch them work, diff, merge the winner](assets/demo.gif)

Why

Power users already do this by hand: `tmux` panes, `git worktree add`, `claude -p "..."` in each, then juggle diffs and merges. hangar.nvim turns that workflow into three keystrokes:

:Hangar spawn --yolo fix the flaky auth test
:Hangar spawn --yolo add dark mode to the settings page
:Hangar          " dashboard: watch both, diff, merge the good one
  • Parallel by default — each run gets an isolated worktree + branch outside your repo; your working tree is never touched.
  • Live mission control — dashboard shows status, adapter, elapsed time, model, turn count, cost, and files changed for every run, with repo totals in the footer, sort and filter toggles, all updating in real time.
  • Readable transcripts tails a run's stream as clean text and tool calls, not raw JSON.
  • Native reviewd lists changed files; opens a real diffsplit against the run's base commit. m squash-merges the branch (offering a rebase-and-retry when it conflicts), x deletes worktree + branch.
  • Zero dependencies