Skip to content

CLI Reference

Eric Kochen edited this page Mar 29, 2026 · 4 revisions

The primary interface is the TUI. The CLI subcommands below are alternatives for scripting and automation.

General

purple                              # launch the TUI
purple myserver                     # connect if exact match, otherwise open TUI with search
purple -c myserver                  # direct connect (skip the TUI)
purple --config ~/other/ssh_config  # use alternate config file
purple --list                       # list all configured hosts
purple update                       # self-update to latest version
purple --completions zsh            # generate shell completions (bash, zsh, fish)

Host management

purple add deploy@10.0.1.5:22          # quick-add (user@host:port)
purple add user@host --alias name       # quick-add with custom alias
purple add user@host --key ~/.ssh/id_ed25519  # quick-add with key
purple import hosts.txt                 # bulk import from file
purple import --known-hosts             # import from ~/.ssh/known_hosts

Provider management

purple provider add digitalocean --token YOUR_TOKEN
purple provider add aws --profile default --regions us-east-1,eu-west-1
purple provider add aws --token AKID:SECRET --regions us-east-1,eu-west-1
purple provider add proxmox --url https://pve:8006 --token user@pam!token=secret
purple provider add gcp --token /path/to/sa-key.json --project my-project --regions us-central1-a
purple provider add azure --token /path/to/sp.json --regions SUBSCRIPTION_ID
purple provider add tailscale                               # local CLI, no token
purple provider add tailscale --token tskey-api-YOUR_KEY    # API
purple provider add oracle --token ~/.oci/config --compartment OCID --regions eu-amsterdam-1
purple provider add ovh --token APP_KEY:APP_SECRET:CONSUMER_KEY --project PROJECT_ID
purple provider add digitalocean --token TOKEN --no-auto-sync
purple provider list
purple provider remove digitalocean

Syncing

purple sync                     # sync all providers
purple sync digitalocean        # sync single provider
purple sync --dry-run           # preview changes
purple sync --remove            # remove hosts deleted from provider

Tunnels

purple tunnel list                              # list all tunnels
purple tunnel list myserver                     # list tunnels for a host
purple tunnel add myserver L:8080:localhost:80  # add forward
purple tunnel remove myserver L:8080:localhost:80
purple tunnel start myserver                    # start tunnel (Ctrl+C to stop)

Snippets

purple snippet list                                # list all snippets
purple snippet add NAME "COMMAND"                  # add a snippet
purple snippet add NAME "COMMAND" --description "desc"
purple snippet add check-path "df -h {{path:/tmp}}"  # parameterized
purple snippet remove NAME
purple snippet run NAME myserver                   # run on single host
purple snippet run NAME --tag prod                 # run on hosts with tag
purple snippet run NAME --all                      # run on all hosts
purple snippet run NAME --all --parallel           # run concurrently

Password management

purple password set myserver        # store password in OS keychain
purple password remove myserver     # remove from keychain

MCP server

purple mcp                              # start MCP server for AI agents (stdio JSON-RPC)
purple --config ~/other/ssh_config mcp  # with custom config

See MCP Server for client setup and available tools.

Clone this wiki locally