Installation

Install the elasticclaw CLI on macOS, Linux, or via direct binary download. Upgrade, install on remote servers, and set up systemd.

Video Walkthrough

Watch a quick walkthrough of the installation process:

Homebrew (macOS & Linux)

The recommended install method:

bash
brew tap elasticclaw/elasticclaw
brew install elasticclaw

Upgrade to the latest version:

bash
brew upgrade elasticclaw

Binary Download

Download a pre-built binary from the GitHub Releases page.

bash
# macOS (arm64)
curl -L https://github.com/elasticclaw/elasticclaw/releases/latest/download/elasticclaw-darwin-arm64 -o elasticclaw
chmod +x elasticclaw
sudo mv elasticclaw /usr/local/bin/

# Linux (amd64)
curl -L https://github.com/elasticclaw/elasticclaw/releases/latest/download/elasticclaw-linux-amd64 -o elasticclaw
chmod +x elasticclaw
sudo mv elasticclaw /usr/local/bin/

Verify Installation

bash
elasticclaw version
# elasticclaw 2026.5.16

Upgrade CLI

Upgrade the CLI to the latest release. Auto-detects your platform, downloads the binary, and replaces it atomically.

bash
elasticclaw upgrade

If the ElasticClaw Server systemd service is running, it will be restarted automatically.

Install on a Remote Server

Install ElasticClaw Server (binary, systemd service, Caddy TLS) on a remote Linux server via SSH:

bash
elasticclaw install   --server ssh://root@my-server.com   --domain server.mycompany.com   --ssh-key ~/.ssh/id_ed25519

Flags:

  • --server — SSH URI (required)
  • --domain — Domain for TLS via Let's Encrypt (required)
  • --ssh-key — SSH private key path
  • --version — Pin a release version (default: latest)
  • --token — Server user token (default: random hex32)
  • --ui-password — Web UI password (default: random hex32)
  • --skip-caddy — Skip Caddy/TLS (useful when DNS not ready)
The install script verifies DNS resolves before proceeding (unless --skip-caddy). Save the printed credentials — they won't be shown again.

Upgrade Remote Server

Upgrade ElasticClaw Server on a remote server via SSH:

bash
elasticclaw hub upgrade --server ssh://root@server.example.com

The server SSH target and key can be inferred from your active profile ifssh_uri or url is configured.

Systemd Service

Use these commands when you are managing ElasticClaw Server directly on a Linux host. You do not need to run hub service install after elasticclaw install; the remote installer already writes, enables, and starts the systemd service.

bash
sudo elasticclaw hub service install    # write unit, enable, start
sudo elasticclaw hub service uninstall  # stop, disable, remove
elasticclaw hub service status

The unit file is written to /etc/systemd/system/elasticclaw.service. Config lives at /etc/elasticclaw/hub.yaml, data at /var/lib/elasticclaw/.

Caddy Reverse Proxy

Use these commands when you are managing Caddy directly on a Linux host. You do not need to run hub caddy install after elasticclaw install; the remote installer already installs and configures Caddy unless you pass --skip-caddy.

bash
sudo elasticclaw hub caddy install --domain server.example.com
sudo elasticclaw hub caddy uninstall
The domain must have an A record pointing to the server's IP. If you use Cloudflare, set the record to DNS only, not proxied/orange-cloud, so Caddy can complete Let's Encrypt validation. Caddy is installed via the official apt repo if not present.