You can download stable and bleeding-edge builds of butler from its itch.io page:
Better yet, you can install it using the itch app, so it stays up-to-date.
You can download the latest, bleeding-edge version of butler from broth:
broth is the download server used by the desktop app to install its own copy of butler.
-head channels are bleeding-edge, the other ones are stable.
This is recommended if you need to install butler as part of a script, perhaps for continuous deployment
If you want to get the latest stable, for example, you could curl or wget the following URL:
You can substitute
linux-amd64 with any channel listed on broth.
The file served is a .zip file, and this URL redirects to an expiring download URL. Here's an example bash script to install the latest stable butler for Linux:
# -L follows redirects # -O specifies output name curl -L -o butler.zip https://broth.itch.ovh/butler/linux-amd64/LATEST/archive/default unzip butler.zip # GNU unzip tends to not set the executable bit even though it's set in the .zip chmod +x butler # just a sanity check run (and also helpful in case you're sharing CI logs) ./butler -V
Note: the .zip file contains the butler executable, along with two dynamic
libraries related to 7-zip, which grant butler extra functionality. They're
not strictly required for
butler push, however, they shouldn't hurt either.
If you need help integrating butler in your CI pipeline, butler's GitHub issue tracker is a good place to ask: https://github.com/itchio/butler/issues/
Adding an executable to your path allows you to launch it from anywhere, no matter which directory you're currently in.
Follow this article to add the folder where you downloaded butler.exe to your path.
Alternatively, Windows will look into the current working directory when looking for commands
If you extracted butler to a directory (let's say
~/bin), you first need
to mark it as executable. From a terminal, run:
chmod +x ~/bin/butler
~/bin with the folder you actually want to store butler into)
Then, edit the
~/.bashrc file (
~ is your home directory) and add this line
at the end:
$HOME/bin as appropriate)
You'll need to close and start a new terminal to apply the changes. You should
now be able to move on to the
First run section.
Alternatively, if you want to use the version installed by the itch app,
you can skip the chmod command and use this line in your
Follow the Linux instructions, except:
- On macOS, the
~/.bash_profilefile is used instead of
- You may have to create that file if it doesn't exist yet.
- If you want to use the itch app version, use this line in your
export PATH="$PATH:$HOME/Library/Application Support/itch/apps/butler"
(don't forget the double-quotes, they're needed because there is a space in Application Support)
As with Linux, don't forget to close and re-open your terminal to apply the changes.
To make sure butler is installed properly, open a terminal (
cmd.exe on Windows),
and type the following command:
(that's a capital V, casing matters)
It should print something like that:
head, built on Sep 13 2018 @ 10:59:39, ref 30fe1c38a9611d6b17dc61c7d4fb9582aa369d41
Or if you're using a stable version,
head will be replaced by a semantic version
Here's how it looks on Windows:
Note: of course, you can also run butler from PowerShell. But if you know about PowerShell you probably didn't need to read most of this page anyway.
If you ever forget where you put your butler.exe, the
butler which command
will print its complete path.
If you followed these instructions before September 2018, you might have
download URLs starting with
dl.itch.ovh. While new versions of butler are
still being deployed to that server for the time being, it is deprecated
and new CI setups should use the latest
broth.itch.ovh URLs instead.
dl.itch.ovh was a simple storage bucket with a proxy in front. It did
the job, but some users were unable to access it, and download speeds were
sometimes suboptimal for non-US users.
broth.itch.ovh serves downloads
through itch.io's CDN, which means every should have access and reasonable
dl.itch.ovh served "naked binaries", whereas
now serves .zip archives, because the full butler distribution is more than
one file. See the install instructions above for what these files are, and
example bash code on how to install butler from broth.