id = "lazygit"
name = "lazygit"
homepage = "https://github.com/jesseduffield/lazygit"
description = "A simple terminal UI for git commands."
icon = "https://user-images.githubusercontent.com/8456633/174470852-339b5011-5800-4bb9-a628-ff230aa8cd4e.png"
executables = ["lazygit"]
[dotfiles]
paths = [
"[appData]/lazygit/config.yml",
"%LOCALAPPDATA%/lazygit/config.yml",
"[appData]/jesseduffield/lazygit/config.yml",
]
exclude = []
secret = []
[commands]
format = 1
label = "Open lazygit"
description = "Start lazygit on a repository, optionally focused on a panel or filtered to a path. Printing config and profiling options are left out."
quality = "ai-draft"
parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = true, short_bundles = false }
[[commands.source]]
id = "help"
kind = "help"
url = "https://github.com/jesseduffield/lazygit/blob/master/pkg/app/entry_point.go"
revision = "master 2026-10-27"
evidence = """
-p, --path Path of git repo. (equivalent to --work-tree=<path> --git-dir=<path>/.git/)
-f, --filter Path to filter on in `git log -- <path>`.
git-arg Panel to focus upon opening lazygit. Accepted values (based on git terminology): status, branch, log, stash.
-d, --debug Run in debug mode with logging (see --logs flag below).
-l, --logs Tail lazygit logs (intended to be used when `lazygit --debug` is called in a separate terminal tab)
--screen-mode The initial screen-mode, which determines the size of the focused panel. Valid options: 'normal' (default), 'half', 'full'
--use-config-file Comma separated list to custom config file(s)
To override the individual config file used, use the `--use-config-file` arg
"""
[[commands.field]]
id = "path"
label = "Repository path"
type = "path"
path = { kind = "directory", role = "input" }
option = ["--path", "-p"]
sources = ["help"]
[[commands.field]]
id = "filter"
label = "Filter log to path"
type = "path"
path = { kind = "any", role = "input" }
option = ["--filter", "-f"]
sources = ["help"]
[[commands.field]]
id = "screen_mode"
label = "Initial screen mode"
type = "enum"
option = ["--screen-mode"]
choices = [{ value = "normal", label = "Normal" }, { value = "half", label = "Half" }, { value = "full", label = "Full" }]
sources = ["help"]
[[commands.field]]
id = "config_file"
label = "Config file(s)"
description = "Comma-separated list of config files."
type = "string"
option = ["--use-config-file"]
sources = ["help"]
[[commands.field]]
id = "debug"
label = "Debug mode"
type = "boolean"
option = ["--debug", "-d"]
sources = ["help"]
[[commands.field]]
id = "logs"
label = "Tail logs"
description = "Run in a second tab while another lazygit runs with debug."
type = "boolean"
option = ["--logs", "-l"]
sources = ["help"]
[[commands.field]]
id = "panel"
label = "Focus panel"
type = "enum"
position = 0
choices = [{ value = "status", label = "Status" }, { value = "branch", label = "Branches" }, { value = "log", label = "Log" }, { value = "stash", label = "Stash" }]
sources = ["help"]
[[commands.task]]
id = "open_repo"
label = "Open a repository"
fields = ["path", "panel"]
required = ["path"]
[[commands.task]]
id = "debug"
label = "Debug run"
fields = ["path", "debug"]
required = []
set = { debug = [true] }
[[commands.group]]
id = "basic"
label = "Basic"
fields = ["path", "panel", "filter", "screen_mode"]
[[commands.group]]
id = "advanced"
label = "Advanced"
fields = ["config_file", "debug", "logs"]