All posts
August 5, 2026·5 min read

Running llama.cpp on Windows Without Building From Source

How to run llama.cpp on Windows using prebuilt binaries: which build to pick for NVIDIA, AMD, or CPU-only, how llama-server starts up, and why you shouldn't change --host to 0.0.0.0.

Half the llama.cpp guides out there start with installing CMake and Visual Studio Build Tools. You need that if you're going to modify the engine's source. To just run a model, you don't need a compiler at all: the developers ship prebuilt Windows binaries with every build.

Here's the short path to a working model, plus one setting that can quietly open it up to the entire internet if you're not careful.

Which build to download

The releases page has archives named like llama-b10276-bin-win-<variant>-x64.zip, where the number is the build ID. Builds come out often, so grab the latest.

There are currently nine Windows variants, and which one you need depends on what you're computing on:

HardwareArchive
NVIDIAcuda-12.4 or cuda-13.3
AMD Radeonhip-radeon
Any GPU, including integratedvulkan
CPU onlycpu
ARM laptop (Snapdragon X)arm64

There are separate archives with CUDA runtime libraries for versions 12.4 and 13.3. If you grab a CUDA build and don't have the CUDA Toolkit installed, unpack one of those into the same folder — otherwise llama-server.exe won't start and will complain about missing DLLs.

If you're unsure between CUDA and Vulkan, start with Vulkan. It works on almost any GPU, including integrated graphics, and needs nothing else installed. NVIDIA cards are usually faster on CUDA, but first make sure things actually run at all.

The archive just unpacks into any folder. There's no installer, nothing touches the registry, and removing it means deleting the folder.

What's inside the archive

Two files that matter in practice:

  • llama-cli.exe — a one-off run in the console: ask a question, get an answer.
  • llama-server.exe — starts a local server with a web UI and an OpenAI-compatible API.

The second one is almost always more convenient. It gives you a browser chat and an address other programs can connect to at the same time.

Running it

You need a model separately — a .gguf file, downloaded from Hugging Face, for example. There's a breakdown of the GGUF format if you need help picking a quantization, and a guide on memory requirements for figuring out what your hardware can handle.

Then, from the command line, inside the build folder:

llama-server.exe -m C:\models\qwen3-8b-q4_k_m.gguf --port 8080

Open http://127.0.0.1:8080 — there's a built-in web UI there. By default the server only listens on 127.0.0.1, meaning it's reachable exclusively from this computer.

Useful flags to know on day one:

  • -ngl N — how many of the model's layers to offload to the GPU. If VRAM is tight, some layers stay on the CPU and generation slows down.
  • -c N — context size in tokens. A bigger context needs more memory.
  • --jinja — enables OpenAI-style function calling. You'll need this if you plan to work with tools.

The setting people get wrong

Guides sometimes suggest changing the address to --host 0.0.0.0 to "make the server work." It will work — and become reachable by anyone who can reach your computer over the network.

llama-server has no authentication by default. An open port facing the network means a stranger can send requests to your model, burn your hardware, and read the answers. If your router forwards ports and the computer faces the internet directly, this ends exactly how it sounds.

127.0.0.1 is the default for a reason. Changing it only makes sense deliberately, and together with some access restriction: a firewall, a VPN, or a password-protected reverse proxy.

When something doesn't work

Won't start, an error about a DLL. Missing the CUDA runtime — unpack the matching archive next to it.

Runs, but generates slowly. The model is probably running on the CPU. Check that you downloaded the build for your GPU, and add -ngl with a higher number.

Not enough memory. Drop to a lighter quantization: from Q5 down to Q4_K_M, and lower still if needed.

The model answers, but loses the thread on long tasks. That's usually not the engine — it's the size of the model and the context.

If reading through this list made you realize you just wanted to run a model, not deal with builds and flags — that's a normal reaction, and it says something. Doka solves exactly these four problems for you: the right build and model get picked automatically for your hardware at install time, and you don't have to guess at quantization or context size.

Is it worth it

llama.cpp gives you full control and new model architectures the day they land. The price is picking a build manually, launch flags, and no interface beyond a plain browser chat. How it compares to Ollama and LM Studio is covered separately.

And it's worth being honest with yourself about why you're setting this up. If the inference engine itself is what interests you — great, go deeper. But if the goal was "have AI go through a folder of documents" or "fix the failing test in my project," llama-server doesn't solve that: it hands back text, and you still need a client that can read files, run commands, and check the result.

Doka is exactly that kind of client, just assembled ahead of time. The local model installs from the interface without picking builds or flags, and the work happens with files, the terminal, and MCP servers. If you'd rather skip the engine altogether, download it and go straight to the task.