ChocoButler is a native Windows application that works with Chocolatey, periodically checking for outdated packages, and allowing them to be upgraded.
ChocoButler sits in the system tray (notification area) of Windows. Its icon changes colour and an alert pops-up when upgrades are available. See screenshots for examples.
Rather than running upgrades on a fixed schedule, ChocoButler alerts you when updates are available and allows you to start the upgrades at a time convenient for you.
Version 2 is a complete rewrite of ChocoButler as a native Windows application:
- Native Windows App: No more PowerShell scripts or console windows
- Better UI: Click notifications to install updates, improved menu interactions
- Enhanced Features: Better settings management
- Modern Architecture: Built with .NET 8.0 for better performance and reliability
The easiest way to install ChocoButler is via Chocolatey. The package in Chocolatey is named chocobutler
. Use the Chocolatey GUI and search for "chocobutler" or install via the command line with choco install chocobutler
.
The Chocolatey package adds a shortcut to the startup folder so ChocoButler starts-up automatically with Windows, and also adds an entry to the Start Menu.
To suppress the Start-Up or Start-Menu additions, install via the command line with the following params:
choco install chocobutler --params "'/NoStartUp'"
choco install chocobutler --params "'/NoStartMenu'"
choco install chocobutler --params "'/NoStartMenu /NoStartUp'"
For manual installation, download the latest release, extract the files to a folder, and run ChocoButler.exe
in the package/tools
folder
Alternatively clone the github repo and build the project.
- Windows 10/11
- Chocolatey package manager
- .NET 8.0 Runtime (will be installed automatically via Chocolatey)
ChocoButler will first check for outdated packages on start-up, and every N hours thereafter. To check on-demand, right-click on the ChocoButler icon in the system tray and click "Check for outdated packages now".
Normally the brown ChocoButler icon is shown in the system tray. If packages are available for upgrade, the icon will turn red. When outdated packages are found, a popup will display also.
There are several ways to install available upgrades:
- Right-click menu: Right-click on the system tray icon and select "Install updates..."
- Double-click: Double-click the system tray icon to install all updates
- Click notification: Click on the notification popup to install updates
- Individual packages: Right-click → "Outdated Packages" → select specific packages
This will install outdated package updates with administrator privileges. This effectively runs choco upgrade <packages> --yes
under the covers.
By right-clicking the ChocoButler icon you can:
- View outdated packages and their details
- Install all updates or individual packages
- Check for updates manually
- Access settings and configuration
- Open Chocolatey GUI (if installed)
- View advanced options and help
See screenshots for examples.
On detecting outdated packages, an alert pop-up is shown:
You may need to expand the system tray (notification area) with the up-arrow to see the icon. Hovering the mouse over the (red) icon displays the number of outdated packages:
Right-clicking the icon shows a menu, including the option to "Install updates...":
A confirmation box, showing packages to be upgraded, is shown before installation:
A pop-up displays when upgrades are complete:
When no outdated packages are available for upgrade (e.g. post-install) the icon returns to the regular icon. Hovering over the icon displays "No updates available":
Default settings will be in place unless/until the user selects Settings...
via the system tray menu. At that point a settings-v2.json
file will be created (in %APPDATA%\ChocoButler\
).
The following settings are available:
- Periodically Check for Updates Enable or disable automatic periodic checks for outdated packages using the "Enable Periodic Checks" option in the Settings dialog.
- Check Interval Hours By default, ChocoButler checks for outdated packages every 1 hour. You can change how often checks occur by opening the Settings dialog from the system tray menu and adjusting the "Check Interval (hours)" option.
- Show Notifications Control whether notification pop-ups appear when outdated packages are found. This can be toggled on or off in the Settings dialog.
- Start with Windows This setting controls whether ChocoButler will start with windows.
- Clone the repository:
git clone https://github.com/cokelid/ChocoButler.git
- Install the .NET 8 SDK (https://dotnet.microsoft.com/en-us/download/dotnet/8.0)
- Ensure
dotnet --version
gives version 8 - Build the project with
dotnet build
- Run the application with
dotnet run
This project is licensed under the GPL-3.0 License - see the LICENSE file for details.
To file a bug report, or request an enhancement, create a GitHub Issue.
Contributions are welcome! Please feel free to submit a Pull Request.