Install SpanDock in a few minutes
SpanDock is one app for macOS, Linux and Windows. On first launch it asks whether this computer is a server, a client or standalone, and remembers the answer. Installed apps update themselves.
SpanDock is free to use under the End User License Agreement, with paid plans for larger teams.
| You have | Install with | Updates |
|---|---|---|
| A Mac | brew install --cask spandock/spandock/spandock | The app updates itself |
| A Mac, without Homebrew | The DMG, plus one Terminal command | The app updates itself |
| A Linux machine or VM | brew install spandock/spandock/spandock, or the tarball | brew upgrade spandock, or the app updates itself |
| Windows | The zip | The app updates itself |
macOS
With Homebrew (recommended)
brew install --cask spandock/spandock/spandock
open -a SpanDockUse the full name as shown, so Homebrew trusts the cask and keeps it current. To remove it: brew uninstall --cask spandock (add --zap to delete settings and data too).
Without Homebrew
- Download
SpanDock-<version>-macos-arm64.dmg(Apple Silicon) or-amd64.dmg(Intel) from the latest release. - Open it and drag SpanDock to Applications.
- Clear the download quarantine flag once, so macOS doesn't block the first launch:
xattr -dr com.apple.quarantine /Applications/SpanDock.appWithout this step, approve it once under System Settings → Privacy & Security → Open Anyway. Updates the app installs itself never ask again.
Linux
With Homebrew
brew install spandock/spandock/spandock
spandock -role=server -open=false -menubar=false # first start: choose the mode, then Ctrl-C
brew services start spandock # run it in the backgroundUpdate with brew upgrade spandock. A Homebrew install never replaces itself; the dashboard tells you when a new version is out.
From the tarball
curl -fLO https://github.com/SpanDock/spandock-releases/releases/latest/download/spandock-linux-amd64.tar.gz
tar -xzf spandock-linux-amd64.tar.gz
./spandock -role=server -open=false -menubar=falseUse spandock-linux-arm64.tar.gz on ARM. Keep the binary in a folder its user can write to (for example ~/.local/bin) so it can update itself. Settings → General → Open at login installs a user service.
Windows
From the zip
Download spandock-windows-amd64.zip from the latest release, unzip it and run spandock.exe. The dashboard opens in your browser.
Expand-Archive spandock-windows-amd64.zip -DestinationPath $env:LOCALAPPDATA\SpanDock
& "$env:LOCALAPPDATA\SpanDock\spandock.exe"A server without a screen
spandock -role=server -open=false -menubar=false # first start chooses the mode
spandock admin pair my-laptop # a single-use pairing code for a client
spandock admin management-token my-laptop # lets that client manage this server
spandock admin clients # list clients; approve with: spandock admin approve CLIENT-IDOn the laptop
- Install SpanDock and choose client on the first launch.
- Paste the pairing code under Settings → Server connection.
- Paste the management token under Settings → Server management.
- Choose Open server dashboard: the server's dashboard opens through the encrypted tunnel.
The first launch
- The dashboard opens at
http://127.0.0.1:8787and asks whether this computer is a server, a client or standalone. - Activate your license on the server (or standalone install): copy the key from your dashboard and paste it under Settings → License. Signing up creates a Free license.
- Server: add clients under Clients → Add client. Each gets a single-use pairing code. Add destinations under Destinations.
- Client: paste the pairing code under Settings → Server connection.
- Everywhere: Integrations configures Claude Code, Codex, Gemini CLI and other tools to report to SpanDock. Restart the tool afterwards.
Join a satellite
- On the hub: Settings → Scaling → Add server. Copy the join code; it works once, for 30 minutes.
- On the new server: install SpanDock, choose Join it as a satellite on the first launch, and paste the code.
- On the hub: Clients → Add client now asks which server each new client connects to. Clients fail over between servers by themselves.
Without a screen
Pass the code in the environment rather than on the command line, so it stays out of the process list:
SPANDOCK_JOIN_CODE='spandock-join:…' spandock -role=server -open=false -menubar=falseChecking a download
Every release lists the SHA-256 of each file in checksums.txt.
shasum -a 256 -c checksums.txt --ignore-missing # macOS
sha256sum -c checksums.txt --ignore-missing # LinuxNext: get your license key
Sign up to create a Free license, then paste its key into your server.