September 7, 2026

SwarmCLI v2.0.0 Is Here: A Permanent Free Tier and Business Edition for Everyone

SwarmCLI v2.0.0: a permanent free tier with the full Business Edition feature set on up to 3 nodes, one-command activation, a license bound to your swarm that you can move, and terminal polish.

SwarmCLI v2.0.0 Is Here: A Permanent Free Tier and Business Edition for Everyone

Zurich, September 7, 2026

SwarmCLI v2.0.0 is out. It is the largest release since we launched the Business Edition in April, and the headline is simple: every feature we sell is now free on small swarms, getting it takes one command, and once it is on a swarm you never have to think about it again.

The terminal itself changes little in this release, and that is deliberate. The major version comes from the licensing work underneath, not from the dashboard. If you only run the Apache-2.0 build, upgrading from v1.14.0 needs nothing at all.

Here is what is new.

1. Business Edition, free on up to 3 nodes

There are now two ways to run SwarmCLI for free.

  • Community needs no license key at all. Unlimited nodes, unlimited vCPUs, and the core TUI. Take it for a large swarm you mainly need to watch.
  • Starter is a free key that unlocks the full Business Edition feature set on one swarm of up to 3 nodes: secret reveal, shell into any task, port forwarding into overlay networks, the RBAC proxy, all of it. (SwarmCLI Charts is not on that list because it needs no key at all — it is part of the Community Edition.) Take it for a small swarm you want to manage.

Starter is not a reduced feature set under a friendlier name. It grants exactly what a paid key grants. The only difference is the node cap, and nothing switches off if a fourth node joins for a while. The key is verified offline, so it works on a swarm with no route to the internet, and we renew it for you in the background.

Getting one is a single command on any manager:

Terminal
swarmcli license activate

The CLI prints a short code and a link, you confirm in the browser, and the key is installed. No card, no form. The same thing is available as Register Cluster at swarmcli.io/licenses.

One thing to know: a pre-v2 swarmcli cannot read a free key and will report it as invalid. The key is fine. Upgrade first, then activate.

2. A license bound to your swarm, that you can move

A Business Edition license is bound to one swarm. That is what lets the key be a file you can copy anywhere without anyone else being able to use it. Two things follow from that binding, and both are new in v2.0.0:

  • You can move it. Retiring a cluster or rebuilding it? Unbind Cluster in the dashboard releases the license, and swarmcli license activate on the new swarm takes it. The old swarm's entitlement runs out on its own, so a move is possible once per window rather than on a whim, and nothing on a client can move a binding, by design: a copied key must never be a way to take a license away from its rightful cluster.

  • It keeps working without us. A licensed swarm runs for up to 60 days with no contact to our servers, so an outage on our side never becomes an outage on yours. Renewal happens in the background: re-running :bootstrap deploys a small licence-renewer service that keeps the license current on a swarm nobody logs into. It is the only piece of the stack that talks to the outside world, and :bootstrap --no-renewer leaves it out.

  • Air-gapped swarms are supported. The customer portal issues an activation file for a bound license, and it installs from the shell or the TUI:

    Terminal
    swarmcli license lease install ~/swarm.lease
    

Licenses you already hold are unaffected and keep working exactly as they did. How the binding is implemented, and why, is in the release notes.

3. Scriptable from the shell

The whole license lifecycle now works without a person at a TUI, which is what CI runners and ephemeral nodes have been asking for:

Terminal
swarmcli license activate                # get a license for this swarm
swarmcli license install <file>          # store a key you already hold
swarmcli license status --json           # what this swarm holds
swarmcli license sync                    # bring it up to date now

status --json is the one to assert on in a pipeline.

4. In the terminal

Smaller, but you will notice them:

  • Log separators. Press Enter in the logs view before a deploy to drop a marker, and new lines announce themselves, so fresh output is never lost in the scrollback.
  • A task that ran to completion is not a warning. Clean exits no longer light up yellow. Red is reserved for a task that failed, yellow for one Swarm stopped.
  • The secret create dialog no longer accepts names Swarm then refuses, and no longer base64-encodes every value by default.
  • One Docker context per session, with a prompt when your shell leaves it.
  • The header's resource poll stopped subscribing every container to dockerd.
  • Charts cache a verified archive and retry a transient download.
  • ctrl+g on the license page copies the swarm's cluster id, the one support asks for.

5. Before you upgrade

  • Upgrade the fleet together. If you run the agent-manager, re-run :bootstrap so the agents move to v2.0.0 alongside the CLI. Mixed versions do not break anything, but they can disagree about a license in ways that are awkward to diagnose.
  • A trial or free key with no expiry date is now refused. Keys we issue have always carried one, so this most likely reaches nobody. If you want to be sure, swarmcli license status prints it.
  • Importing SwarmCLI as a Go module? The path is now github.com/Eldara-Tech/swarmcli/v2. Nothing else about the packages changed.

The full upgrade notes are on the release page.

How to upgrade

Your license lives on the swarm rather than in the binary, so nothing has to be re-activated afterwards.

Terminal
# macOS
brew upgrade swarmcli

# Windows
scoop update swarmcli

# Docker
docker pull eldaratech/swarmcli:latest

# Anywhere else
curl -fsSL https://swarmcli.io/install.sh | sh -s -- ~/.local/bin

One tag ships two builds of the same command: swarmcli with the Business Edition features compiled in and inert until a license verifies them, and swarmcli-oss, which is the Apache-2.0 tree and nothing else. swarmcli version tells you which one you are running.

What comes next

v2.0.0 is the foundation for what we are building on top of Swarm rather than the end of it. The free tier already includes the entitlements our GitOps controller, SwarmCLI CD, will use when it launches, so the pricing table's "coming soon" is a promise about a product that exists. We tell the longer story, from a weekend Bubbletea prototype to this release, in The Evolution of SwarmCLI and the Future of Docker Swarm.

Every release before this one, with dates and links, is on the SwarmCLI changelog. Compare the tiers at swarmcli.io/pricing, and if something does not match what your swarm reports, tell us.