Unmeshed Logo

CLI & Remote Agents

CLI Setup & Upgrades

Install the CLI

If the target machine can use the standard install scripts, start there.

If the CLI cannot be installed because the target machine does not have the required network access, use Download the CLI for another machine.

Linux and macOS

Run the install script by piping it to bash:

bash

The installer downloads the latest CLI binary, places it on PATH, and only prompts for sudo when the target install location requires elevated permissions.

Windows PowerShell

Run:

powershell

The PowerShell installer detects the Windows architecture and installs the matching CLI binary.

Verify the installation

Confirm that the CLI is on your PATH and responding:

bash

unmeshed version prints the CLI version, commit, and build date. unmeshed --help shows the top-level command set, including run, call, search, update, upload, download-cli, download-agent, and the remote agent commands.

If the command is not found after installation, open a new shell and confirm that the install location printed by the installer is on PATH.

Install shell completion

The CLI supports bash, zsh, fish, and powershell.

Automatic install

If you run unmeshed completion with no shell argument, the CLI reads your current shell from SHELL and installs completion into the standard user-scoped location for that shell:

bash

Explicit install or script generation

If you prefer to manage the file yourself, generate the completion script explicitly:

bash

The standard locations used by the CLI are:

  • bash: ~/.local/share/bash-completion/completions/unmeshed
  • zsh: ~/.zsh/completions/_unmeshed
  • fish: ~/.config/fish/completions/unmeshed.fish
  • powershell: ~/.config/powershell/unmeshed-completion.ps1

If completion is not already enabled in your shell startup files, the CLI prints the extra profile steps you need for that shell.

Upgrade the CLI

Upgrade the current CLI in place with:

bash

Current behavior:

  • On Linux and macOS, the CLI downloads the latest binary for the current platform and replaces the current executable in place.
  • If the install location requires elevated permissions, rerun the command with sudo.
  • On Windows, the CLI downloads the new binary to a temporary path and prints the copy command you should run manually to replace unmeshed.exe.

The upgrade command also refreshes standard bash, zsh, and fish completion files when those standard directories already exist. If you installed completion somewhere custom, rerun unmeshed completion <shell> after upgrading.

Download the CLI for another machine

Use download-cli when you need the CLI on a different host and want to fetch the correct binary ahead of time:

bash

Use this path when the destination machine cannot install the CLI directly. Common cases include:

  • no outbound internet access from the destination machine
  • firewall or proxy rules that prevent access to the install script or binary host
  • restricted server environments where curl, iwr, or direct script execution is not allowed
  • staged or offline deployments where binaries must be transferred in from a separate machine

In those cases, run download-cli from a regular machine with internet access, copy the downloaded binary to the destination machine, place it on PATH, and verify it there with unmeshed --help.

The command prompts you for:

  • the target OS and architecture
  • the download directory

The current target list includes:

  • darwin/amd64
  • darwin/arm64
  • linux/amd64
  • linux/arm64
  • windows/amd64
  • windows/arm64

After the download completes, place the binary on the target machine:

  • Linux and macOS: put it on PATH as unmeshed
  • Windows: put it on PATH as unmeshed.exe

Then verify it on the target machine:

bash