Skip to main content
mesheryctl is available for macOS, Linux, and Windows. Choose your platform below for installation instructions.

macOS

brew install mesheryctl

Using Bash Script

curl -L https://meshery.io/install | PLATFORM=darwin bash -

Linux

Using Bash Script

curl -L https://meshery.io/install | PLATFORM=linux bash -

Manual Installation

# Download the binary
wget https://github.com/meshery/meshery/releases/latest/download/mesheryctl_linux_amd64.tar.gz

# Extract
tar -xzf mesheryctl_linux_amd64.tar.gz

# Move to PATH
sudo mv mesheryctl /usr/local/bin/

# Make executable
sudo chmod +x /usr/local/bin/mesheryctl

# Verify installation
mesheryctl version

Windows

Using PowerShell

$WebClient = New-Object System.Net.WebClient
$WebClient.DownloadFile("https://github.com/meshery/meshery/releases/latest/download/mesheryctl_windows_amd64.zip", "mesheryctl.zip")
Expand-Archive mesheryctl.zip -DestinationPath .
.\mesheryctl.exe version

Using Scoop

scoop bucket add mesheryctl https://github.com/meshery/scoop-bucket.git
scoop install mesheryctl

Docker

Run mesheryctl in a Docker container:
docker run --rm -it -v ~/.meshery:/home/meshery layer5/mesheryctl:stable system status
Mount your Meshery config directory (~/.meshery) to persist configuration across container runs.

Building from Source

Prerequisites

  • Go 1.21 or later
  • Git

Build Instructions

# Clone the repository
git clone https://github.com/meshery/meshery.git
cd meshery/mesheryctl

# Build
make

# The binary will be at ./cmd/mesheryctl/mesheryctl
# Move to PATH
sudo mv cmd/mesheryctl/mesheryctl /usr/local/bin/

# Verify
mesheryctl version

Verify Installation

After installation, verify that mesheryctl is working:
# Check version
mesheryctl version

# View help
mesheryctl --help

# Check system compatibility
mesheryctl system check

Enable Shell Completion

For better developer experience, enable command completion:
# Linux
mesheryctl completion bash | sudo tee /etc/bash_completion.d/mesheryctl

# macOS
mesheryctl completion bash > /usr/local/etc/bash_completion.d/mesheryctl

# Reload shell
source ~/.bashrc

Configuration

On first run, mesheryctl creates a configuration file at ~/.meshery/config.yaml:
# Initialize configuration
mesheryctl system context create local --url http://localhost:9081 --set

Troubleshooting

Command Not Found

If you get “command not found” after installation:
# Check if binary is in PATH
which mesheryctl

# If not, add installation directory to PATH
export PATH=$PATH:/usr/local/bin

# Make permanent by adding to shell profile
echo 'export PATH=$PATH:/usr/local/bin' >> ~/.bashrc
source ~/.bashrc

Permission Denied

If you get permission errors:
# Make binary executable
chmod +x /usr/local/bin/mesheryctl

# Or use sudo for system-wide installation
sudo chmod +x /usr/local/bin/mesheryctl

macOS Security Warning

On macOS, if you see “mesheryctl cannot be opened because it is from an unidentified developer”:
# Remove quarantine attribute
xattr -d com.apple.quarantine /usr/local/bin/mesheryctl

# Or allow in System Preferences > Security & Privacy

Updating mesheryctl

brew upgrade mesheryctl

Uninstalling

brew uninstall mesheryctl

Next Steps

After installation:
  1. Start Meshery - Deploy Meshery locally
  2. Configure Context - Set up your Meshery endpoint
  3. Explore Commands - Learn available commands