| name | runpodctl |
| description | Runpod CLI (runpodctl) to manage your Runpod GPU workloads from the terminal. Use when you need to create or terminate GPU pods, list available GPU types and prices, inspect pod status, manage SSH connections, configure API keys, or run shell commands inside a pod. Triggers on: 'runpodctl', 'runpod cli', 'runpod gpu', 'manage runpod', 'list runpod pods', 'create runpod pod', 'terminate runpod pod', 'runpod ssh', 'RUNPOD_API_KEY', 'runpodctl install', 'runpod gpu types', 'runpod pricing'. |
| allowed-tools | Bash(runpodctl:*) |
| compatibility | Linux, macOS |
| metadata | {"author":"runpod","version":"2.2"} |
| license | Apache-2.0 |
Runpodctl
Manage GPU pods, serverless endpoints, templates, volumes, and models.
Spelling: "Runpod" (capital R). Command is runpodctl (lowercase).
Install
curl -sSL https://cli.runpod.net | bash
brew install runpod/runpodctl/runpodctl
mkdir -p ~/.local/bin && curl -sL https://github.com/runpod/runpodctl/releases/latest/download/runpodctl-darwin-all.tar.gz | tar xz -C ~/.local/bin
mkdir -p ~/.local/bin && curl -sL https://github.com/runpod/runpodctl/releases/latest/download/runpodctl-linux-amd64.tar.gz | tar xz -C ~/.local/bin
Invoke-WebRequest -Uri https://github.com/runpod/runpodctl/releases/latest/download/runpodctl-windows-amd64.zip -OutFile runpodctl.zip; Expand-Archive runpodctl.zip -DestinationPath $env:LOCALAPPDATA\runpodctl; [Environment]::SetEnvironmentVariable('Path', $env:Path + ";$env:LOCALAPPDATA\runpodctl", 'User')
Ensure ~/.local/bin is on your PATH (add export PATH="$HOME/.local/bin:$PATH" to ~/.bashrc or ~/.zshrc).
Quick start
runpodctl doctor
runpodctl gpu list
runpodctl hub search vllm
runpodctl serverless create --hub-id <id> --name "my-vllm"
runpodctl template search pytorch
runpodctl pod create --template-id runpod-torch-v21 --gpu-id "NVIDIA GeForce RTX 4090"
runpodctl pod list
API key: https://runpod.io/console/user/settings
Commands
Pods
runpodctl pod list
runpodctl pod list --all
runpodctl pod list --status exited
runpodctl pod list --since 24h
runpodctl pod list --created-after 2025-01-15
runpodctl pod get <pod-id>
runpodctl pod create --template-id runpod-torch-v21 --gpu-id "NVIDIA GeForce RTX 4090"
runpodctl pod create --image "runpod/pytorch:1.0.3-cu1281-torch291-ubuntu2404" --gpu-id "NVIDIA GeForce RTX 4090"
runpodctl pod create --compute-type cpu --image ubuntu:22.04
runpodctl pod start <pod-id>
runpodctl pod stop <pod-id>
runpodctl pod restart <pod-id>
runpodctl pod reset <pod-id>
runpodctl pod update <pod-id> --name "new"
runpodctl pod delete <pod-id>
List flags: --all / -a, --status, --since, --created-after, --name, --compute-type
Get flags: --include-machine, --include-network-volume
Create flags: --template-id (required if no --image), --image (required if no --template-id), --name, --gpu-id, --gpu-count, --compute-type, --ssh (default true), --container-disk-in-gb, --volume-in-gb, --volume-mount-path, --network-volume-id, --ports, --env, --cloud-type, --data-center-ids, --global-networking, --public-ip
Hub
Browse and search the Runpod Hub — a curated marketplace of deployable repos.
runpodctl hub list
runpodctl hub list --type SERVERLESS
runpodctl hub list --type POD
runpodctl hub list --category ai --limit 20
runpodctl hub list --order-by deploys
runpodctl hub list --owner runpod-workers
runpodctl hub search vllm
runpodctl hub search whisper --type SERVERLESS
runpodctl hub get <listing-id>
runpodctl hub get runpod-workers/worker-vllm
List/search flags: --type (POD, SERVERLESS), --category, --order-by (stars, deploys, createdAt, updatedAt, releasedAt, views), --order-dir (asc, desc), --limit, --offset, --owner
Serverless (alias: sls)
runpodctl serverless list
runpodctl serverless get <endpoint-id>
runpodctl serverless create --name "x" --template-id "tpl_abc"
runpodctl serverless create --name "x" --hub-id <listing-id>
runpodctl serverless create --hub-id <id> --env MODEL_NAME=my-model
runpodctl serverless update <endpoint-id> --workers-max 5
runpodctl serverless delete <endpoint-id>
Create from hub: --hub-id resolves the hub listing, extracts the build image and config (GPU IDs, container disk, env vars), creates an inline template, and deploys. Accepts both SERVERLESS and POD listing types. GPU IDs and env var defaults from the hub config are included automatically; override with --gpu-id and --env.
List flags: --include-template, --include-workers
Update flags: --name, --workers-min, --workers-max, --idle-timeout, --scaler-type (QUEUE_DELAY or REQUEST_COUNT), --scaler-value
Create flags: --name, --template-id or --hub-id (one required), --gpu-id, --gpu-count, --compute-type, --workers-min, --workers-max, --network-volume-id, --data-center-ids, --env
Templates (alias: tpl)
runpodctl template list
runpodctl template list --type official
runpodctl template list --type community
runpodctl template list --type user
runpodctl template list --all
runpodctl template list --limit 50
runpodctl template search pytorch
runpodctl template search comfyui --limit 5
runpodctl template search vllm --type official
runpodctl template get <template-id>
runpodctl template create --name "x" --image "img"
runpodctl template create --name "x" --image "img" --serverless
runpodctl template update <template-id> --name "new"
runpodctl template delete <template-id>
List flags: --type (official, community, user), --limit, --offset, --all
Create flags: --name, --image, --container-disk-in-gb, --volume-in-gb, --volume-mount-path, --ports, --env, --docker-start-cmd, --docker-entrypoint, --serverless, --readme
Network Volumes (alias: nv)
runpodctl network-volume list
runpodctl network-volume get <volume-id>
runpodctl network-volume create --name "x" --size 100 --data-center-id "US-GA-1"
runpodctl network-volume update <volume-id> --name "new"
runpodctl network-volume delete <volume-id>
Create flags: --name, --size, --data-center-id
Models
runpodctl model list
runpodctl model list --all
runpodctl model list --name "llama"
runpodctl model list --provider "meta"
runpodctl model add --name "my-model" --model-path ./model
runpodctl model remove --name "my-model"
Registry (alias: reg)
runpodctl registry list
runpodctl registry get <registry-id>
runpodctl registry create --name "x" --username "u" --password "p"
runpodctl registry delete <registry-id>
Info
runpodctl user
runpodctl gpu list
runpodctl gpu list --include-unavailable
runpodctl datacenter list
runpodctl billing pods
runpodctl billing serverless
runpodctl billing network-volume
SSH
runpodctl ssh info <pod-id>
runpodctl ssh list-keys
runpodctl ssh add-key
Agent note: ssh info returns connection details, not an interactive session. If interactive SSH is not available, execute commands remotely via ssh user@host "command".
File Transfer
runpodctl send <path>
runpodctl receive <code>
Utilities
runpodctl doctor
runpodctl update
runpodctl version
runpodctl completion
URLs
Pod URLs
Access exposed ports on your pod:
https://<pod-id>-<port>.proxy.runpod.net
Example: https://abc123xyz-8888.proxy.runpod.net
Serverless URLs
https://api.runpod.ai/v2/<endpoint-id>/run # Async request
https://api.runpod.ai/v2/<endpoint-id>/runsync # Sync request
https://api.runpod.ai/v2/<endpoint-id>/health # Health check
https://api.runpod.ai/v2/<endpoint-id>/status/<job-id> # Job status