Installation
Download
Download the right file for your system from the GitHub Releases page:
| Your Computer | File Name |
|---|---|
| Windows (NVIDIA graphics card) | swarmllm-windows-x86_64-gpu.zip |
| Windows (AMD or Intel graphics, no graphics card, or not sure) | swarmllm-windows-x86_64-cpu.zip |
| Mac (Apple chip — M1 or newer) | swarmllm-macos-aarch64.tar.gz (runs on the processor; no graphics acceleration yet) |
| Mac (Intel chip) | Not supported yet — build from source (best-effort) |
| Linux (most distros) | swarmllm-linux-x86_64.tar.gz |
| Linux (NVIDIA GPU) | swarmllm-linux-x86_64-cuda.tar.gz |
| Linux (processor from before 2013) | swarmllm-linux-x86_64-baseline.tar.gz |
| Windows (processor from before 2013) | swarmllm-windows-x86_64-baseline.zip |
It stops immediately with
Illegal instruction? Download the-baselinebuild. The ordinary Linux and Windows builds are made for processors from 2013 onwards (they use AVX2 instructions), which makes them roughly 3x faster at running models on the processor. On an older machine they stop on the very first instruction, before printing anything — and because nothing is wrong with the download, re-downloading or checking permissions changes nothing. On Linux,grep -c avx2 /proc/cpuinfoprinting0means you want the baseline build.
Not sure which Mac? Apple menu > "About This Mac." If it says "Apple M1" (or M2/M3/etc.), use the Mac download. If it says "Intel," there is no download for your Mac yet.
Which NVIDIA cards get GPU acceleration? RTX 30-series and newer (also RTX 40, RTX 50, and the A/H data-centre cards). The RTX 20-series, GTX 16-series and anything older are below the requirement of the FlashAttention kernels SwarmLLM ships, which is what makes attention fast.
An older card is not a problem — nothing breaks and there is nothing to configure. SwarmLLM checks the card when it starts, tells you in the log and on the dashboard that it is using the processor instead, and carries on. The models the swarm manages for you run through this CUDA path on every system. The Windows graphics build also carries a Vulkan backend that works on any graphics card, but it is used only for a single model file you load yourself with
-m.To check your card:
nvidia-smi --query-gpu=name,compute_cap --format=csv. A number of 8.0 or higher gets GPU acceleration.
Check the download (optional, one command)
The single-file downloads — swarmllm-linux-x86_64,
swarmllm-windows-x86_64-gpu.exe and the like, plus the .deb and .rpm —
each have a .sha256 file beside them on the release page. (The .zip and
.tar.gz archives don't.) Put both files in the same folder and run one
command to catch a damaged or incomplete download:
sha256sum -c swarmllm-linux-x86_64.sha256 # Linux
shasum -a 256 -c swarmllm-macos-aarch64.sha256 # Mac
Those .sha256 files are also signed, and the built-in updater refuses an
update whose signature it cannot verify.
Install & Run
Windows
- Download
swarmllm-windows-x86_64-gpu.zipif your PC has an NVIDIA graphics card (it bundles the NVIDIA libraries, so no CUDA Toolkit is needed), otherwiseswarmllm-windows-x86_64-cpu.zip(works on every PC, including ones with AMD or Intel graphics). - Right-click it and choose Extract All — running it from inside the zip view does not work.
- Double-click
swarmllm.exein the extracted folder. SmartScreen shows "Windows protected your PC" because the program is not code-signed yet: click More info > Run anyway. - A console window opens: that is SwarmLLM running. Keep it open (minimising is fine) — closing it stops SwarmLLM. The dashboard opens in your browser.
There is no
SwarmLLM-Setup.exeat the moment. The installer that bundled both variants was dropped from the release build on 2026-04-22 and has not been published since; earlier versions of this page still named it.
From PowerShell on a raw binary:
cd Downloads\swarmllm-windows-x86_64-gpu
.\swarmllm.exe run
macOS
Double-click the download in Finder to unpack it into a folder, keep that
folder somewhere in your home folder (Documents or Downloads is fine), and
double-click swarmllm inside it. A Terminal window opens — that is
SwarmLLM running, so leave it open. Or from Terminal (the archive has no
folder of its own, so unpack it into one):
mkdir -p ~/swarmllm
tar xzf ~/Downloads/swarmllm-macos-aarch64.tar.gz -C ~/swarmllm
cd ~/swarmllm
./swarmllm run
Where you put it matters on a Mac. Keep SwarmLLM in a folder you own — anywhere under your home folder, as in the commands above. Folders like
/Applicationsneed administrator rights, and SwarmLLM cannot then replace its own binary, so it will tell you an update is available and decline to install it. Nothing else about it changes; move the file and updates work by themselves.
First launch: "cannot be opened because it is from an unidentified developer." The binaries are not yet signed with an Apple developer certificate, so Gatekeeper stops the first run of anything downloaded in a browser. Either open System Settings > Privacy & Security and click Open Anyway, or remove the quarantine flag the browser added:
xattr -d com.apple.quarantine swarmllmDownloading with
curlavoids it entirely — the quarantine flag is set by the browser, not by macOS in general — and it is a one-time thing per download, not something that recurs on every update (confirmed on a Mac mini M4, 2026-09-03).
Linux
The archive has no folder of its own, so unpack it into one (use
swarmllm-linux-x86_64-cuda.tar.gz for an NVIDIA RTX 30-series card or newer):
mkdir -p ~/swarmllm
tar xzf ~/Downloads/swarmllm-linux-x86_64.tar.gz -C ~/swarmllm
cd ~/swarmllm
./swarmllm run
The NVIDIA download needs NVIDIA's CUDA 12 libraries (cuBLAS, cuRAND and NVRTC); unlike the Windows download it does not carry them. On Ubuntu or Debian (multiverse / non-free):
sudo apt install libcublas12 libcublaslt12 libcurand10 libnvrtc12or install NVIDIA's CUDA Toolkit 12. Without them SwarmLLM still works: it runs on the processor and its log says which library it could not find. Restart it after installing them to use the card.
Linux packages (.deb / .rpm)
Debian / Ubuntu:
sudo dpkg -i swarmllm_*_amd64.deb
sudo systemctl enable --now swarmllm # start it as a background service
Fedora / RHEL — the .rpm does not yet create the user the service runs as, so create it once before starting the service (systemd creates the data folder):
sudo rpm -i swarmllm_*.x86_64.rpm
sudo useradd --system --no-create-home --shell /usr/sbin/nologin swarmllm
sudo systemctl enable --now swarmllm
Either way SwarmLLM runs as a background service that keeps its data in
/var/lib/swarmllm (the access token is in /var/lib/swarmllm/api_key).
Programs installed from a package do not update themselves — install the
next release's package to update. Homebrew and AUR packages are not published
yet.
Docker
The fastest way to get running on any Linux server:
# 1. Get the compose file and example env
curl -LO https://raw.githubusercontent.com/enapt/SwarmLLM/main/docker-compose.yml
curl -LO https://raw.githubusercontent.com/enapt/SwarmLLM/main/.env.example
# 2. Configure (add API keys, change ports, etc.)
cp .env.example .env
nano .env
# 3. Start
docker compose up -d
For NVIDIA GPU support (requires NVIDIA Container Toolkit):
docker compose --profile gpu up -d
Pre-built images on GHCR:
| Image | Description |
|---|---|
ghcr.io/enapt/swarmllm:latest | CPU-only |
ghcr.io/enapt/swarmllm:latest-cuda | NVIDIA GPU (CUDA 12.4) |
ghcr.io/enapt/swarmllm:<version> | A pinned release, e.g. 0.3.200-alpha (CPU) |
ghcr.io/enapt/swarmllm:<version>-cuda | A pinned release (GPU) |
The CPU image carries two builds and starts the faster one your processor can run: the AVX2 build on anything from 2013 on, a slower build that runs anywhere otherwise. Images before the first release after 0.3.204-alpha carried only the slow build, so a container ran models about 3x slower than the downloadable program on the same machine, and read prompts about 8x slower. The GPU image needs an AVX2 processor, like the GPU downloads.
An image is published when its release is — after the release has been checked
and signed, the same moment the built-in updater can see it. (Before this rule,
images for 0.3.199-alpha, which was withdrawn, and for 0.3.202-alpha and
0.3.203-alpha, which were never released, were published by mistake; they have
been removed. If a container of yours still runs one, pull latest again.)
Data is persisted in Docker volumes. Model shards are stored in the swarmllm-models volume (or bind-mount a host directory via SWARMLLM_MODELS_DIR in .env).
View logs with docker compose logs -f. The API key is printed on first startup;
to read it again — the dashboard will ask for it, because a browser on your
computer reaches the container from outside it — run
docker exec swarmllm cat /data/api_key.
Cargo Install
Requires Rust 1.90+:
cargo install --git https://github.com/enapt/SwarmLLM.git # add --tag vX.Y.Z-alpha to pin a release
swarmllm run
Building from Source
git clone https://github.com/enapt/SwarmLLM.git
cd SwarmLLM
cargo build --release
./target/release/swarmllm run
For NVIDIA GPU support, build what the release builds (llama.cpp + candle on CUDA + FlashAttention; it needs the CUDA toolkit and compiles for a long time):
cargo build --release --features cuda
The build command for each release variant is in CONTRIBUTING.md.
For Apple Silicon: the default build runs on CPU. A Metal-accelerated
build is on the roadmap but not yet implemented (no metal Cargo
feature exists yet); until then, use the default cargo build --release.
Open the Dashboard
Once running, open http://localhost:8800 in your browser. The setup wizard will walk you through initial configuration.