Download lazygit for Windows PC v0.66.2 for Windows PC
A fast terminal UI (TUI) for git: stage lines, rebase, cherry-pick, resolve conflicts and undo mistakes visually — without leaving the terminal.
Technical Specifications & System Requirements
Software notes
Features
- Interactive rebase becomes pointing and pressing keys — squash, fixup, drop and reorder commits visually, with the todo file generated for you instead of edited by hand in a text editor.
- Partial staging is first-class: stage a single line out of a file while leaving debugging prints unstaged, without the finger gymnastics of git add -p and its per-hunk prompts.
- Almost every action is undoable through the reflog integration, so a botched rebase, reset or branch deletion is a keypress to reverse rather than a Stack Overflow rescue mission.
- It is a single small portable executable with no installer, no Electron and no background services, and it starts instantly even on modest hardware.
- The command log panel shows the exact git commands lazygit executes on your behalf, so regular use steadily improves your raw git knowledge instead of replacing it.
Considerations
- On very large repositories lazygit is only as fast as the git commands underneath it, and when git status takes many seconds the whole interface visibly waits on every refresh.
- There is no built-in pull request, issue or code-review integration, so the social side of GitHub or GitLab still happens in the browser or a separate client.
- The keyboard-first TUI has a real learning curve in its first week: dozens of single-key bindings are efficient once learned but undiscoverable until you build the habit of pressing ? for help.
About & Overview: lazygit for Windows PC
lazygit 0.66.2 is a terminal user interface (TUI) for git, written in Go by Jesse Duffield and released under the MIT license — it is not a desktop GUI and it is not a git replacement; it runs inside your terminal (Windows Terminal, PowerShell, cmd) and drives the real git binary underneath. One screen shows five panels — status, files, branches, commits and stash — with a live diff of whatever you select. You stage whole files with Space, or press Enter on a file and stage individual lines and hunks; commit with c; and do the operations people normally avoid because the CLI syntax is hostile: interactive rebase (squash, fixup, drop, reorder by keypress), cherry-picking by copy-pasting commits between branches, bisect, worktrees, submodules, and undo/redo of almost anything via the reflog (z and Ctrl+z). Merge conflicts open in a dedicated view where you pick sides per hunk. Custom commands and keybindings live in a YAML config, and pressing ? shows every binding in context. It is best for developers who already work in the terminal — Vim/Neovim users especially — and for anyone who has ever frozen before typing a rebase command. A typical real scenario: a feature branch has nine messy WIP commits and one commit that belongs on another branch; in lazygit you cherry-pick that commit across, squash the rest into two clean commits, resolve the one conflict that appears, force-push with lease — about a minute of keypresses, with an undo key if any step goes wrong.
How to Install & Verify lazygit for Windows PC
Get lazygit_0.66.2_windows_x86_64.zip from the latest release on github.com/jesseduffield/lazygit — the archive contains a single lazygit.exe plus license and readme files.
Unzip to a folder you will keep, for example C:\Tools\lazygit. lazygit is portable software: there is no installer and nothing is written to the registry.
Add the folder to the Path environment variable (Settings > Environment Variables) so you can type lazygit in any terminal; alternatively run it by full path or create an lg alias in your PowerShell profile.
lazygit drives the real git binary, so Git for Windows must be installed and git --version must work in the same terminal before lazygit can do anything.
Open a terminal, cd into any git repository, and run lazygit. Press ? at any time for the keybinding list for the current panel, and q to quit.
Related Windows PC Software & Alternatives
Frequently Asked Questions & Verification Guide
Is lazygit for Windows PC free and open source?
Yes. lazygit for Windows PC is completely free and open-source software. You can download and use it at no cost, and its source code is publicly available.
What are Lazygit keybindings for staging and committing?
The core set covers most work: Space stages or unstages the selected file (or line, inside a file's diff view), a stages everything, c opens the commit message editor, P pushes and p pulls, and Enter on a file opens its changes so you can stage individual lines and hunks. Press ? in any panel to see the full binding list for that context, x to open the menu of actions for the selected item, and q to quit. Bindings are remappable in the keybinding section of config.yml.
How does Lazygit handle interactive rebase?
Select the commits panel, move to the oldest commit you want to edit, and press i to start an interactive rebase onto it. From there single keys act on the commit under the cursor: s squash, f fixup, d drop, e edit, and Ctrl+j / Ctrl+k to move commits up and down the list. Press m for rebase options such as continue or abort. Because lazygit tracks the reflog, pressing z afterwards undoes the whole rebase if the result is not what you wanted.
Can I customize Lazygit config for best practices?
Yes. lazygit reads a YAML configuration (config.yml in its config directory — on Windows, %APPDATA%\lazygit) where you can remap any keybinding, set a custom pager such as delta, define custom commands that run git or shell commands against the selected commit or branch, and tune the UI. Repositories can also carry their own overrides, and pressing ? always reflects your current bindings rather than the defaults.
Is lazygit a GUI or a replacement for git?
Neither. lazygit is a terminal UI (TUI): it renders panels and menus as text inside your existing terminal window and executes the real git binary for every operation, which is why Git for Windows must be installed first. Your repository, config and remotes are untouched standard git — you can close lazygit mid-task and continue with plain git commands, and anything lazygit did can be inspected in the reflog.