Download
depot / docs / installation

Installing DepotDownloader

Eight ways to get the same binary onto your machine — and my honest opinion on which one you should actually use. Covers Windows, Linux, macOS, ARM boards, Docker and the package managers in between.

There's no installer, no wizard, no account to create. DepotDownloader is a single console program, and "installing" it mostly means putting it somewhere and running it. That simplicity is also why there are eight different ways to do it — so here's the map, with the shortcuts I use and the dead ends I'd avoid.

01Pick your method

Every release ships self-contained builds for each platform — around 33 MB zips with the .NET runtime baked in, so you don't need to install anything else. That's the key fact that makes most of this page easy:

You're onUse thisSkip this
Windows 10/11winget or the release zip
Linux (any distro)Release zip + chmod +x
Arch / ManjaroAUR (steamdepotdownloader-bin)
macOSHomebrew (steamre/tools tap)
Server / CI / DockerFramework build on a .NET image
Anywheredotnet tool install — see why

02Windows

The cleanest route is winget — one line, and updates come through the same channel:

> winget install --exact --id SteamRE.DepotDownloader

Prefer doing it by hand? Grab DepotDownloader-windows-x64.zip from the releases page (there's a windows-arm64 build too, for Surface and other ARM machines), unzip it anywhere, and run DepotDownloader.exe from a terminal in that folder.

Two Windows quirks SmartScreen may warn about an unrecognised app the first time — it's an unsigned open-source binary, "More info → Run anyway" is the expected path; verify your download came from the SteamRE GitHub and nowhere else. And don't double-click the exe: it's a console program, the window will just flash and close. Open a terminal first, then run it with arguments.

03Linux

This was once the most-requested feature in the tracker; these days Linux is a first-class citizen with prebuilt binaries for x64, ARM64 and even 32-bit ARM (yes, your old Raspberry Pi can pull depots — I've done it, slowly):

$ curl -LO https://github.com/SteamRE/DepotDownloader/releases/latest/download/DepotDownloader-linux-x64.zip $ unzip DepotDownloader-linux-x64.zip -d depotdownloader && cd depotdownloader $ chmod +x DepotDownloader $ ./DepotDownloader -app 232250 # TF2 dedicated server — works anonymously, good first test

No dependencies, no distro packages needed — the zip runs the same on Debian, Fedora, Alpine or anything else with a kernel. If you want it on your PATH, drop a symlink into ~/.local/bin.

Arch users have it in the AUR in three flavours: steamdepotdownloader-bin (repacked official binary — what I'd pick), steamdepotdownloader (built from source) and depotdownloader-git (HEAD, for the impatient). The similarly-named steamdepotdownloadergui packages are the GUI wrapper, not the CLI.

04macOS

SteamRE maintains a Homebrew tap, which is the route I'd take:

$ brew tap steamre/tools $ brew install depotdownloader

Note that it's a tap — plain brew install depotdownloader without the tap won't find it. Manual zips exist for both architectures (macos-arm64 for Apple Silicon, macos-x64 for Intel); if you go that way, Gatekeeper will quarantine the binary and you'll need to clear it:

$ xattr -d com.apple.quarantine ./DepotDownloader

Homebrew handles that for you, which is most of why I recommend it.

05The framework build — and the dotnet tool trap

Next to the fat per-platform zips, every release includes DepotDownloader-framework.zip — a 2.7 MB build with no bundled runtime. It runs anywhere you already have the .NET runtime installed:

$ dotnet DepotDownloader.dll -app 440 -username you

I use it in two situations: Docker images where the base image already ships .NET (no point hauling a second runtime), and odd platforms with a .NET runtime but no prebuilt binary. For a desktop machine, just take the self-contained zip and skip the runtime dependency entirely.

The trap You'll find advice online (including, embarrassingly, an older revision of this site's quickstart) suggesting dotnet tool install --global DepotDownloader. Don't. The NuGet package stopped updating at 2.7.5 — that's a 2022-era build which predates several Steam protocol changes and the current flag names. It will install fine and then fail in confusing ways. Until a current package ships, the dotnet tool route is a dead end; use the release zips.

06Docker & headless servers

There's no official Docker image — the maintainers' position is that the tool is a single binary and doesn't need one, and honestly they're right. When I need it in a container (CI jobs, game-server provisioning), I build a trivial image around the framework zip:

# Dockerfile — minimal DepotDownloader image FROM mcr.microsoft.com/dotnet/runtime:8.0 ADD https://github.com/SteamRE/DepotDownloader/releases/latest/download/DepotDownloader-framework.zip /tmp/dd.zip RUN apt-get update && apt-get install -y unzip \ && unzip /tmp/dd.zip -d /opt/depotdownloader && rm /tmp/dd.zip ENTRYPOINT ["dotnet", "/opt/depotdownloader/DepotDownloader.dll"]
$ docker build -t depotdownloader . $ docker run --rm -v $PWD/downloads:/downloads depotdownloader \ -app 232250 -dir /downloads

Two things matter in containers: mount a volume for -dir so downloads survive the container, and if you use an account rather than anonymous, mount a persistent home directory too — that's where login tokens are cached, and without it you'll be re-entering Steam Guard codes on every run. Community images exist on Docker Hub, but for something that touches your Steam account I'd rather build the two-line image myself than trust a stranger's. If the container host is a Synology, unRAID, QNAP or TrueNAS box, those same volume mounts come with PUID/PGID and persistent-login details of their own — running DepotDownloader on a NAS walks through them appliance by appliance.

07Android (Termux)

Surprisingly viable: the community TermuxDepotDownloader script bootstraps everything inside Termux, and your phone becomes a tiny depot-pulling machine over Wi-Fi. It's a niche setup with its own quirks (storage permissions, PRoot, wake locks), so it gets its own guide — a depot puller in your pocket. The short version: it works, it's slower than any laptop, and it's weirdly satisfying.

08Verify it works & keep it updated

Whichever route you took, this should print a version and runtime info:

$ ./DepotDownloader --version DepotDownloader v3.4.0

And the classic full smoke test is an anonymous download of a small free depot — the TF2 dedicated server (-app 232250) is the traditional pick. If that completes, your install, network and everything between them is fine.

Updating: winget upgrade / brew upgrade if a package manager got you here; otherwise download the new zip over the old folder. Releases aren't frequent — the tool follows Steam's protocol changes, not a feature treadmill — but when Steam shifts something (like the zstd chunk compression that 3.4.0 added), old versions stop working, so it's worth updating when downloads start failing for no visible reason. The releases page is low-noise enough to watch.

Won't even launch — permission denied, Gatekeeper, a .NET error, the console flash? That's the platform issues page. Install fine but downloads failing? That's usually not the install — check the old versions status page if it's a 401 on a manifest, or the FAQ for account questions. Something genuinely broken on your platform belongs in the issue tracker.