lazygit Alternatives
lazygit alternatives compared: gitui, gitu and tig as terminal Git UIs, plus forgit for fzf-based Git commands in Bash, Zsh and Fish.
Updated
short verdict
gitui is the closest swap for lazygit: same staging, branching and stash panels, written in Rust, with benchmarks on large repos. Pick gitu if you come from Magit, tig if you mostly read history, and forgit if you prefer fzf pickers inside your shell over a full-screen UI.
lazygit is a full-screen terminal UI for staging, committing, branching, rebasing and stashing. The alternatives here split into three groups. gitui is a direct counterpart with keyboard-only control. gitu copies Magit's workflow. tig centers on browsing history. forgit is not a UI at all: it wraps Git commands with fzf menus.
this page is for
- Developers who want a lazygit-style UI that stays responsive on very large repositories
- Magit users who want the same key-driven workflow outside Emacs
- Developers who mostly browse history and diffs and stage occasionally
- Shell users who prefer fuzzy-selecting files, commits and branches over panels
Closest like-for-like replacement: a Rust TUI with keyboard-only staging, commits, stashes and branches, and published large-repo benchmarks.
best for
- lazygit users with very large repositories
- Developers who need hook and GPG signing support
strengths
- Stages files, hunks and individual lines, like lazygit
- Benchmarked on the Linux kernel repo: 24 s and 0.17GB, versus 57 s and 2.6GB for lazygit
- Supports pre-commit, commit-msg, post-commit and prepare-commit-msg hooks plus GPG commit signing
- Customizable themes and key bindings, with context-based help
weaknesses
- Overview lists no merge-conflict resolution or rebase workflow, both of which lazygit covers
- Smaller community than lazygit, about a quarter of its stars
Replaces lazygit's panel layout with Magit-style key menus and Vim-like navigation, so the workflow differs more than gitui's.
best for
- Magit users working outside Emacs
- Vim-style keyboard navigation in a Git UI
strengths
- Interactive rebase, autosquash, abort and continue are built in
- Stashes (save, pop, apply, drop) and resets (soft, mixed, hard) from the keyboard
- Uses VISUAL, EDITOR or GIT_EDITOR for commit messages and file edits
- TOML configuration and an 'h' key help menu
weaknesses
- Key model follows Magit, so lazygit's panel habits do not carry over
- Much smaller project than lazygit, with no mention of mouse support or merge-conflict tooling
An ncurses repository browser that also stages by chunk; it is centered on reading history, where lazygit is centered on acting on it.
best for
- Reviewing commit history and diffs
- Terminals where a lighter ncurses C program is preferred
strengths
- Multiple views for commits, branches and repository structure
- Stages changes at chunk level
- Works as a pager for output from other Git commands
- Written in C on ncurses, so it runs in plain text-mode terminals
weaknesses
- Staging is chunk-level; line-level staging is not documented, unlike lazygit and gitui
- Narrower as an action UI: no documented rebase, stash or merge-conflict panels
- Slowest in the gitui benchmark on the Linux kernel repo: 4 min 20 s
Not a TUI: adds fzf pickers to Git commands in your shell, so you keep typing commands instead of switching to a full-screen interface.
best for
- Developers who live in Bash, Zsh or Fish
- People who forget commit hashes, branch names and file paths
strengths
- 25+ commands with short aliases such as ga, glo and gcb
- Covers diffs, logs, stashes, tags, cherry-pick, interactive rebase and worktrees
- Options adjustable through environment variables for both Git and fzf
- Reuses your existing Git pager and diff tool settings
weaknesses
- Requires fzf 0.60.0 or higher
- No persistent multi-panel view of status, staged changes and history
- Supports Bash, Zsh and Fish only
Why look beyond lazygit
- Scale: gitui's benchmark on the Linux kernel repo shows 24 s and 0.17GB versus 57 s and 2.6GB for lazygit.
- Workflow: if you know Magit, gitu's key menus fit better than lazygit's panel layout.
- Scope: lazygit is a full-screen UI; forgit gives fzf pickers for plain git commands in your shell.
- Focus: if you mostly read history or pipe Git output, tig works as a browser and pager.
Stay with lazygit if
- You want merge-conflict resolution, rebasing and stashing in one panel-based UI, with mouse support.
- You value the largest community of the group, and Homebrew install via brew install lazygit.
- Your repositories are small or medium, so the large-repo benchmark gap does not affect you.
When not to use these
- You want a graphical desktop Git client; every tool here runs in the terminal.
- You only run a few git commands a day and plain git already covers them.
FAQ
- What is the closest alternative to lazygit?
- gitui. It is a keyboard-driven terminal UI for staging files, hunks and lines, committing, stashing and branching, written in Rust and installable with brew install gitui or cargo install gitui --locked.
- Is gitui faster than lazygit?
- gitui's own benchmark on the Linux kernel repository reports 24 seconds and 0.17GB of memory, versus 57 seconds and 2.6GB for lazygit. Those figures come from the gitui project.
- Is there a lazygit alternative for Magit users?
- gitu. It follows Magit's workflow with Vim-like navigation and supports interactive rebase, autosquash, stashes and resets, with an 'h' key help menu.
- Can I get interactive Git without a full-screen UI?
- Yes, with forgit. It wraps Git commands such as ga, glo and gcb in fzf menus for Bash, Zsh and Fish, and needs fzf 0.60.0 or higher.