The full rescoring workflow can be configured through a single JSON or TOML file that includes general settings as well as settings specific to the feature generators and rescoring engine. Additionally, MS 2 Rescore can be configured through the command line interface (CLI) or the graphical user interface (GUI). The cascade_config Python package is used to hierarchically update the configuration from the default values, the configuration file, and the command line or GUI. We used the customtkinter Python package to build a native cross-platform application with modern design elements. The GUI essentially acts as a wrapper around the main Python package, providing simple configuration controls, file selection utilities, and a status pane with the application logs. The jinja and plotly packages are used to generate detailed HTML QC reports with various interactive charts. The intuitive QC reports allows users to validate the quality of the predictions, rescoring features, and false discovery rate (FDR) control after each rescoring run. For optimal reproducibility, metadata such as input filenames, parameters, and logs are also written to the QC report.