← Back to tools

butler

Command-line tool for publishing games to itch.io

gaming Development linuxmacoswindows Go MIT

Description

butler is the official command-line tool for itch.io, written in Go. It enables game developers to push builds to itch.io quickly and reliably, with support for delta patching so only changes are uploaded. butler is also used internally by the itch desktop app for network, filesystem, and patching operations. It integrates easily into CI/CD pipelines for automated game deployment.

AI Summary

Official itch.io CLI for pushing game builds with delta patching and CI/CD integration.

Capabilities

  • + Push game builds to itch.io with automatic delta patching
  • + Authenticate with itch.io account via browser
  • + Upload builds with channel/platform tagging
  • + Verify and validate uploaded builds
  • + Extract multi-format archives (7z, RAR, ZIP)
  • + Integrate into CI/CD pipelines (GitHub Actions, etc.)
  • + Check build status and manage versions

Use When

  • You are a game developer publishing to itch.io
  • You want to automate game build uploads in a CI/CD pipeline
  • You need fast, incremental uploads with delta patching

Avoid When

  • x You are publishing to platforms other than itch.io
  • x You just want to download or play games from itch.io
  • x You need a GUI for uploading (use the itch.io web dashboard instead)

Usage Patterns

Login to itch.io

butler login

Opens a browser window to authenticate with your itch.io account

Push a build

butler push ./build username/game:windows

Uploads the build directory to itch.io with the 'windows' channel tag

Check build status

butler status username/game

Shows the current status and channels for a game on itch.io

Validate a build

butler push --dry-run ./build username/game:linux

Performs a dry run to verify the build without uploading

View AGENTS.md for butler