Skip to main content

Authentication

CommandDescription
vesslctl auth loginLog in using browser OAuth (falls back to email/password)
vesslctl auth logoutLog out and clear stored credentials
vesslctl auth statusShow the currently authenticated user

Organization & Team

CommandDescription
vesslctl org listList organizations you belong to
vesslctl org showShow details of the current organization
vesslctl org switch <name>Switch default organization
vesslctl org create --name <name>Create a new organization
vesslctl team listList teams in the current organization
vesslctl team showShow details of the current team
vesslctl team switch <name>Switch default team
vesslctl team create --name <name>Create a new team

Configuration

CommandDescription
vesslctl config showDisplay current CLI configuration
vesslctl config set default_org <name>Set the default organization
vesslctl config set default_team <name>Set the default team
vesslctl config set output_format <fmt>Set default output format (table, json, csv)

Workspace

Alias: vesslctl ws
CommandDescription
vesslctl workspace listList workspaces in the current team
vesslctl workspace show <slug>Show workspace details and status
vesslctl workspace createCreate a new workspace (see flags below)
vesslctl workspace ssh <slug>SSH into a running workspace
vesslctl workspace logs <slug>View workspace logs
vesslctl workspace pause <slug>Pause a workspace (preserves environment)
vesslctl workspace start <slug>Resume a paused workspace
vesslctl workspace terminate <slug>Terminate and delete a workspace
Common create flags:
vesslctl workspace create \
  --name <name> \
  --cluster <cluster> \
  --resource-spec <spec> \
  --image <image>

Job

CommandDescription
vesslctl job listList jobs in the current team
vesslctl job show <slug>Show job details and status
vesslctl job createSubmit a new batch job (see flags below)
vesslctl job logs <slug>View job output logs
vesslctl job export <slug>Export job configuration as JSON
vesslctl job terminate <slug>Cancel a running job
vesslctl job tag attach <slug> <tag>Attach a tag to a job
vesslctl job tag detach <slug> <tag>Detach a tag from a job
Common create flags:
vesslctl job create \
  --name <name> \
  --resource-spec <spec> \
  --image <image> \
  --cmd "<command>"

Cluster & Resources

CommandDescription
vesslctl cluster listList available clusters
vesslctl resource-spec listList resource specs (GPU/CPU configurations)
vesslctl resource-spec list --cluster <slug>List specs for a specific cluster

Storage & Volumes

Alias: vesslctl vol
CommandDescription
vesslctl storage listList storage backends
vesslctl storage show <slug>Show storage backend details
vesslctl storage createCreate a cluster storage (requires --name, --cluster, --capacity)
vesslctl storage delete <slug>Delete a storage backend
vesslctl volume listList volumes
vesslctl volume show <slug>Show volume details
vesslctl volume create --name <n> --storage <slug> --teams <team>Create a new volume (--name, --storage, --teams are required)
vesslctl volume ls <slug> --prefix /List files in a volume (use / for root)
vesslctl volume token <slug>Get temporary S3 credentials for a volume
vesslctl volume upload <slug> <local_path>Upload local files to a volume
vesslctl volume download <slug> <local_path>Download files from a volume
vesslctl volume update <slug>Update volume metadata (pass --name, --description, or --teams)
vesslctl volume delete <slug>Delete a volume

Tags

CommandDescription
vesslctl tag listList tags in the current organization
vesslctl tag create <value>Create a tag (optional: --color "#ff0000")
vesslctl tag delete <value>Delete a tag by value (or -s <slug>)

AI Skills

CommandDescription
vesslctl skill installInstall skills for AI coding agents
vesslctl skill showDisplay the bundled skill content

Utility

CommandDescription
vesslctl updateUpdate vesslctl to the latest version
vesslctl versionPrint vesslctl version
vesslctl installInstall vesslctl to a directory in your PATH
vesslctl completion installAuto-detect shell and install completion script
vesslctl completion bash|zsh|fishGenerate shell completion script manually

Common Workflows

First-time setup

# Install
curl -fsSL https://api.cloud.vessl.ai/cli/install.sh | bash

# Authenticate
vesslctl auth login

# Set defaults
vesslctl config set default_org <your-org>
vesslctl config set default_team <your-team>

# Verify
vesslctl auth status
vesslctl config show

Launch and connect to a workspace

vesslctl workspace create \
  --name dev-box \
  --cluster <cluster-name> \
  --resource-spec <spec-name> \
  --image pytorch/pytorch:2.3.0-cuda12.1-cudnn8-devel

# Copy the workspace slug from `vesslctl workspace list` (for example, dev-box-abc123).
vesslctl workspace show <workspace-slug>    # wait for "running"
vesslctl workspace ssh <workspace-slug>     # connect
vesslctl workspace pause <workspace-slug>   # done for now

Submit a batch job

vesslctl job create \
  --name train-v2 \
  --resource-spec <spec-name> \
  --image pytorch/pytorch:2.3.0-cuda12.1-cudnn8-devel \
  --cmd "python train.py --epochs 50"

vesslctl job logs train-v2 --follow

Upload data to object storage

# Create a volume (--name, --storage, --teams are required)
vesslctl volume create --name my-dataset --storage <storage-name> --teams <team>

# Copy the volume slug from `vesslctl volume list` (for example, my-dataset-abc123).
vesslctl volume upload <volume-slug> ./data/

# Verify
vesslctl volume ls <volume-slug> --prefix /
If you need to integrate with an S3-compatible tool (DVC, aws s3 cp, custom pipelines), use vesslctl volume token <volume-slug> to get temporary S3 credentials and an endpoint URL.