The Bug Report Tool is a utility that collects logs and system information to help diagnose issues with PowerToys. It creates a comprehensive report that can be shared with developers to help troubleshoot problems.
- Source code:
/tools/BugReportTool/ - Users can trigger the tool via:
- Right-click on PowerToys tray icon → Report Bug
- Left-click on tray icon → Open Settings → Bug Report Tool
The Bug Report Tool creates a zip file on the desktop named "PowerToys_Report_[date]_[time].zip" containing logs and system information. It:
- Copies logs from PowerToys application directories
- Collects system information relevant to PowerToys functionality
- Redacts sensitive information
- Packages everything into a single zip file for easy sharing
- Copies logs from:
%LOCALAPPDATA%\Microsoft\PowerToys\Logs- Regular logs%USERPROFILE%\AppData\LocalLow\Microsoft\PowerToys- Low-privilege logs
- Windows version and build information
- Language and locale settings
- Monitor information (crucial for FancyZones and multi-monitor scenarios)
- .NET installation details
- PowerToys registry entries
- Group Policy Object (GPO) settings
- Application compatibility mode settings
- Event Viewer logs related to PowerToys executables
- PowerToys installer logs
- Windows 11 context menu package information
- Settings files
- Module configurations
- Installation details
- File structure and integrity (with hashes)
compatibility-tab-info.txt- Information about compatibility settings set for certain PowerToys executables both in the user and system scope.context-menu-packages.txt- Information about the packages that are registered for the new Windows 11 context menu.dotnet-installation-info.txt- Information about the installed .NET versions.EventViewer-*.xml- These files contain event logs from the Windows Event Viewer for the executable specified in the file name.EventViewer-Microsoft-Windows-AppXDeploymentServer/Operational.xml- Contains event logs from the AppXDeployment-Server which are useful for diagnosing MSIX installation issues.gpo-configuration-info.txt- Information about the configured GPO.installationFolderStructure.txt- Information about the folder structure of the installation. All lines with files have the following structure:FileName Version MD5Hash.last_version_run.json- Information about the last version of PowerToys that was run.log_settings.json- Information about the log level settings.monitor-report-info.txt- Information about the monitors connected to the system. This file is created by the monitor info report tool.oobe_settings.json- Information about the OOBE settings.registry-report-info.txt- Information about the registry keys that are used by PowerToys.settings_placement.json- Information about the placement of the settings window.settings-telemetry.json- Information about the last time telemetry data was sent.UpdateState.json- Information about the last update check and the current status of the update download.windows-settings.txt- Information about the Windows language settings.windows-version.txt- Information about the Windows version.
The tool redacts certain types of private information:
- Mouse Without Borders security keys
- FancyZones app zone history
- User-specific paths
- Machine names
The tool is implemented as a C# console application that:
- Creates a temporary directory
- Copies logs and configuration files to this directory
- Runs commands to collect system information
- Redacts sensitive information
- Compresses everything into a zip file
- Cleans up the temporary directory
BugReportTool.exe- Main executable- Helper classes for collecting specific types of information
- Redaction logic to remove sensitive data
When adding new PowerToys features, the Bug Report Tool may need to be updated to collect relevant information. Areas to consider:
- New log locations to include
- Additional registry keys to examine
- New GPO values to report
- Process names to include in Event Viewer data collection
- New configuration files to include
The Bug Report Tool is built separately from the main PowerToys solution:
- Path from root:
tools\BugReportTool\BugReportTool.sln - Must be built before building the installer
- Built version is included in the PowerToys installer
nuget restore .\tools\BugReportTool\BugReportTool.sln
msbuild -p:Platform=x64 -p:Configuration=Release .\tools\BugReportTool\BugReportTool.sln
- Open
tools\BugReportTool\BugReportTool.sln - Set the Solution Configuration to
Release - Build the solution