LinuxmacOSWindows

Where Does vLLM Store Downloaded Models?

vLLM downloads weights into the Hugging Face hub cache (~/.cache/huggingface/hub), overridable per run with --download-dir.

Last updated

vLLM keeps no model store of its own. On first request for a model it downloads weights through the Hugging Face hub machinery into the shared hub cache (~/.cache/huggingface/hub, models--org--name layout with blobs plus snapshots).

That sharing cuts both ways. Other HF tools see vLLM's downloads and vice versa, and wiping the cache re-downloads gigabytes on next serve. Aim --download-dir or the env vars at big storage before the first pull.

Where vLLM stores this, by platform

Linux
~/.cache/huggingface/hub

Weights, tokenizer and config snapshots in models--org--repo form. vLLM documents the default as the Hugging Face cache dir; --download-dir overrides per deployment.

macOS
~/.cache/huggingface/hub

Same shared layout. macOS serves mostly for dev (no CUDA); the cache still accumulates identically, so the same overrides apply.

Windows
%USERPROFILE%\.cache\huggingface\hub

Same layout under %USERPROFILE%\.cache. Note symlinks in snapshots/ misbehave on some Windows setups; the hub then stores flat copies and uses more disk.

Frequently asked questions

How do I keep vLLM models off my system drive?

Pass --download-dir <path> to vllm serve. Otherwise weights share the standard Hugging Face cache, which also answers why the disk fills even though vLLM shows no data dir of its own.

Which env vars move the model cache?

Set HF_HOME (whole hub home) or HF_HUB_CACHE (cache dir directly). Both beat the default and apply to every HF-backed loader, vLLM included.

Notice an outdated path? Let us know.