Captures debug information from the system and user, generating a text file to aid in the reporting of a bug in Git.


Create a new bug report file in the current directory

$ git bugreport

Create a new bug report file in the specified directory, creating it if it does not exist
$ git bugreport --output-directory [path/to/directory]

Create a new bug report file with the specified filename suffix in strftime format
$ git bugreport --suffix [%m%d%y]


git bugreport [(-o | --output-directory) <path>] [(-s | --suffix) <format>]


Captures information about the user’s machine, Git client, and repository state, as well as a form requesting information about the behavior the user observed, into a single text file which the user can then share, for example to the Git mailing list, in order to report an observed bug.

The following information is requested from the user:


Reproduction steps


Expected behavior


Actual behavior

The following information is captured automatically:


git version --build-options


uname sysname, release, version, and machine strings


Compiler-specific info string


A list of enabled hooks



This tool is invoked via the typical Git setup process, which means that in some cases, it might not be able to launch - for example, if a relevant config file is unreadable. In this kind of scenario, it may be helpful to manually gather the kind of information listed above when manually asking for help.


-o <path>, --output-directory <path>

Place the resulting bug report file in <path> instead of the current directory.

-s <format>, --suffix <format>

Specify an alternate suffix for the bugreport name, to create a file named git-bugreport-<formatted suffix>. This should take the form of a strftime(3) format string; the current local time will be used.


Part of the git(1) suite

Copied to clipboard