From fea96d920ccb60b0589b19b92a444fbe089d1462 Mon Sep 17 00:00:00 2001
From: "promptless[bot]" <179508745+promptless[bot]@users.noreply.github.com>
Date: Fri, 20 Mar 2026 22:45:41 +0000
Subject: [PATCH 01/14] Update runpodctl documentation for v2.0
---
docs.json | 64 ++++++--
runpodctl/overview.mdx | 100 +++++++++----
runpodctl/reference/runpodctl-billing.mdx | 42 ++++++
runpodctl/reference/runpodctl-create-pod.mdx | 101 -------------
runpodctl/reference/runpodctl-create-pods.mdx | 104 -------------
runpodctl/reference/runpodctl-datacenter.mdx | 56 +++++++
runpodctl/reference/runpodctl-doctor.mdx | 37 +++++
runpodctl/reference/runpodctl-get-cloud.mdx | 48 ------
runpodctl/reference/runpodctl-get-pod.mdx | 32 ----
runpodctl/reference/runpodctl-gpu.mdx | 58 ++++++++
runpodctl/reference/runpodctl-model.mdx | 67 +++++++++
.../reference/runpodctl-network-volume.mdx | 81 ++++++++++
runpodctl/reference/runpodctl-pod.mdx | 138 ++++++++++++++++++
runpodctl/reference/runpodctl-registry.mdx | 67 +++++++++
runpodctl/reference/runpodctl-remove-pod.mdx | 31 ----
runpodctl/reference/runpodctl-remove-pods.mdx | 37 -----
runpodctl/reference/runpodctl-serverless.mdx | 92 ++++++++++++
runpodctl/reference/runpodctl-ssh-add-key.mdx | 34 -----
.../reference/runpodctl-ssh-list-keys.mdx | 24 ---
runpodctl/reference/runpodctl-ssh.mdx | 56 +++++++
runpodctl/reference/runpodctl-start-pod.mdx | 37 -----
runpodctl/reference/runpodctl-stop-pod.mdx | 31 ----
runpodctl/reference/runpodctl-template.mdx | 127 ++++++++++++++++
runpodctl/reference/runpodctl-user.mdx | 38 +++++
24 files changed, 987 insertions(+), 515 deletions(-)
create mode 100644 runpodctl/reference/runpodctl-billing.mdx
create mode 100644 runpodctl/reference/runpodctl-datacenter.mdx
create mode 100644 runpodctl/reference/runpodctl-doctor.mdx
create mode 100644 runpodctl/reference/runpodctl-gpu.mdx
create mode 100644 runpodctl/reference/runpodctl-model.mdx
create mode 100644 runpodctl/reference/runpodctl-network-volume.mdx
create mode 100644 runpodctl/reference/runpodctl-pod.mdx
create mode 100644 runpodctl/reference/runpodctl-registry.mdx
create mode 100644 runpodctl/reference/runpodctl-serverless.mdx
create mode 100644 runpodctl/reference/runpodctl-ssh.mdx
create mode 100644 runpodctl/reference/runpodctl-template.mdx
create mode 100644 runpodctl/reference/runpodctl-user.mdx
diff --git a/docs.json b/docs.json
index 2e87efe3..bd2725ea 100644
--- a/docs.json
+++ b/docs.json
@@ -410,19 +410,21 @@
"group": "Runpod CLI",
"pages": [
"runpodctl/overview",
+ "runpodctl/reference/runpodctl-doctor",
+ "runpodctl/reference/runpodctl-pod",
+ "runpodctl/reference/runpodctl-serverless",
+ "runpodctl/reference/runpodctl-template",
+ "runpodctl/reference/runpodctl-network-volume",
+ "runpodctl/reference/runpodctl-model",
+ "runpodctl/reference/runpodctl-registry",
+ "runpodctl/reference/runpodctl-gpu",
+ "runpodctl/reference/runpodctl-datacenter",
+ "runpodctl/reference/runpodctl-billing",
+ "runpodctl/reference/runpodctl-user",
+ "runpodctl/reference/runpodctl-ssh",
"runpodctl/reference/runpodctl-config",
- "runpodctl/reference/runpodctl-create-pod",
- "runpodctl/reference/runpodctl-create-pods",
- "runpodctl/reference/runpodctl-get-cloud",
- "runpodctl/reference/runpodctl-get-pod",
- "runpodctl/reference/runpodctl-receive",
- "runpodctl/reference/runpodctl-remove-pod",
- "runpodctl/reference/runpodctl-remove-pods",
"runpodctl/reference/runpodctl-send",
- "runpodctl/reference/runpodctl-ssh-add-key",
- "runpodctl/reference/runpodctl-ssh-list-keys",
- "runpodctl/reference/runpodctl-start-pod",
- "runpodctl/reference/runpodctl-stop-pod",
+ "runpodctl/reference/runpodctl-receive",
"runpodctl/reference/runpodctl-update",
"runpodctl/reference/runpodctl-version"
]
@@ -875,6 +877,46 @@
"source": "/runpodctl/reference/runpodctl",
"destination": "/runpodctl/overview"
},
+ {
+ "source": "/runpodctl/reference/runpodctl-create-pod",
+ "destination": "/runpodctl/reference/runpodctl-pod"
+ },
+ {
+ "source": "/runpodctl/reference/runpodctl-create-pods",
+ "destination": "/runpodctl/reference/runpodctl-pod"
+ },
+ {
+ "source": "/runpodctl/reference/runpodctl-get-pod",
+ "destination": "/runpodctl/reference/runpodctl-pod"
+ },
+ {
+ "source": "/runpodctl/reference/runpodctl-get-cloud",
+ "destination": "/runpodctl/reference/runpodctl-datacenter"
+ },
+ {
+ "source": "/runpodctl/reference/runpodctl-remove-pod",
+ "destination": "/runpodctl/reference/runpodctl-pod"
+ },
+ {
+ "source": "/runpodctl/reference/runpodctl-remove-pods",
+ "destination": "/runpodctl/reference/runpodctl-pod"
+ },
+ {
+ "source": "/runpodctl/reference/runpodctl-start-pod",
+ "destination": "/runpodctl/reference/runpodctl-pod"
+ },
+ {
+ "source": "/runpodctl/reference/runpodctl-stop-pod",
+ "destination": "/runpodctl/reference/runpodctl-pod"
+ },
+ {
+ "source": "/runpodctl/reference/runpodctl-ssh-add-key",
+ "destination": "/runpodctl/reference/runpodctl-ssh"
+ },
+ {
+ "source": "/runpodctl/reference/runpodctl-ssh-list-keys",
+ "destination": "/runpodctl/reference/runpodctl-ssh"
+ },
{
"source": "/hub/public-endpoints",
"destination": "/public-endpoints/overview"
diff --git a/runpodctl/overview.mdx b/runpodctl/overview.mdx
index 0b64eb41..4ee219c0 100644
--- a/runpodctl/overview.mdx
+++ b/runpodctl/overview.mdx
@@ -1,18 +1,28 @@
---
title: "Overview"
sidebarTitle: "Overview"
-description: "Use Runpod CLI to manage Pods from your local machine."
+description: "Use Runpod CLI to manage Pods, Serverless endpoints, templates, and more from your local machine."
---
import { PodsTooltip, PodTooltip } from "/snippets/tooltips.jsx";
-Runpod CLI is an [open source](https://github.com/runpod/runpodctl) command-line interface tool for managing your Runpod resources remotely from your local machine. You can transfer files and data between your local system and Runpod, execute code on remote , and automate Pod deployment workflows.
+Runpod CLI is an [open source](https://github.com/runpod/runpodctl) command-line tool for managing your Runpod resources from your local machine. You can manage Pods, Serverless endpoints, templates, network volumes, and models, transfer files between your system and Runpod, diagnose issues, and view account information.
-## Install Runpod CLI locally
+## Quick start
+
+After installing and configuring `runpodctl`, you can start managing resources immediately:
-Every you deploy comes preinstalled with the `runpodctl` command and a Pod-scoped API key. You can also install it on your local machine to manage your Pods remotely from your own system.
+```bash
+runpodctl doctor # First time setup (API key + SSH)
+runpodctl gpu list # See available GPUs
+runpodctl template search pytorch # Find a template
+runpodctl pod create --template-id runpod-torch-v21 --gpu-id "NVIDIA RTX 4090"
+runpodctl pod list # List your Pods
+```
+
+## Install Runpod CLI locally
-To install Runpod CLI locally, follow these steps:
+Every you deploy comes preinstalled with `runpodctl` and a Pod-scoped API key. You can also install it on your local machine to manage resources remotely.
### Step 1: Choose an installation method
@@ -22,39 +32,39 @@ Choose the installation method that matches your operating system.
**Homebrew:**
-```sh
+```bash
brew install runpod/runpodctl/runpodctl
```
**ARM (Apple Silicon):**
-```sh
-wget --quiet --show-progress https://github.com/runpod/runpodctl/releases/download/v1.14.3/runpodctl-darwin-arm64 -O runpodctl && chmod +x runpodctl && sudo mv runpodctl /usr/local/bin/runpodctl
+```bash
+wget --quiet --show-progress https://github.com/runpod/runpodctl/releases/latest/download/runpodctl-darwin-arm64 -O runpodctl && chmod +x runpodctl && sudo mv runpodctl /usr/local/bin/runpodctl
```
**AMD (Intel):**
-```sh
-wget --quiet --show-progress https://github.com/runpod/runpodctl/releases/download/v1.14.3/runpodctl-darwin-amd64 -O runpodctl && chmod +x runpodctl && sudo mv runpodctl /usr/local/bin/runpodctl
+```bash
+wget --quiet --show-progress https://github.com/runpod/runpodctl/releases/latest/download/runpodctl-darwin-amd64 -O runpodctl && chmod +x runpodctl && sudo mv runpodctl /usr/local/bin/runpodctl
```
-```sh
-wget --quiet --show-progress https://github.com/Run-Pod/runpodctl/releases/download/v1.14.3/runpodctl-linux-amd64 -O runpodctl && chmod +x runpodctl && sudo cp runpodctl /usr/bin/runpodctl
+```bash
+wget --quiet --show-progress https://github.com/runpod/runpodctl/releases/latest/download/runpodctl-linux-amd64 -O runpodctl && chmod +x runpodctl && sudo cp runpodctl /usr/bin/runpodctl
```
-```sh
-wget https://github.com/runpod/runpodctl/releases/download/v1.14.3/runpodctl-windows-amd64.exe -O runpodctl.exe
+```bash
+wget https://github.com/runpod/runpodctl/releases/latest/download/runpodctl-windows-amd64.exe -O runpodctl.exe
```
-```sh
-!wget --quiet --show-progress https://github.com/Run-Pod/runpodctl/releases/download/v1.14.3/runpodctl-linux-amd -O runpodctl
+```bash
+!wget --quiet --show-progress https://github.com/runpod/runpodctl/releases/latest/download/runpodctl-linux-amd64 -O runpodctl
!chmod +x runpodctl
!cp runpodctl /usr/bin/runpodctl
```
@@ -69,9 +79,17 @@ This installs `runpodctl` globally on your system, so you can run commands from
Before you can use `runpodctl` locally, you must configure it with an [API key](/get-started/api-keys).
-Run the following command to add your API key to `runpodctl`, replacing `YOUR_API_KEY` with your API key:
+The easiest way to set up your API key and SSH configuration is with the `doctor` command:
-```sh
+```bash
+runpodctl doctor
+```
+
+This command guides you through first-time setup, including API key configuration and SSH key setup.
+
+Alternatively, you can manually configure your API key:
+
+```bash
runpodctl config --apiKey YOUR_API_KEY
```
@@ -84,25 +102,57 @@ saved apiKey into config file: /Users/runpod/.runpod/config.toml
To verify that `runpodctl` installed successfully, run this command:
-```sh
+```bash
runpodctl version
```
You should see which version is installed:
-```sh
-runpodctl v1.14.4
+```bash
+runpodctl v2.0
```
+## Command groups
+
+Runpod CLI organizes commands into groups based on the resource type:
+
+| Command | Alias | Description |
+|---------|-------|-------------|
+| `runpodctl pod` | | Manage Pods (create, list, start, stop, delete) |
+| `runpodctl serverless` | `sls` | Manage Serverless endpoints |
+| `runpodctl template` | `tpl` | List, search, and manage templates |
+| `runpodctl network-volume` | `nv` | Manage network volumes |
+| `runpodctl model` | | List and manage models |
+| `runpodctl registry` | `reg` | Manage container registry authentications |
+| `runpodctl gpu` | | List available GPUs |
+| `runpodctl datacenter` | `dc` | List datacenters |
+| `runpodctl billing` | | View billing history |
+| `runpodctl user` | `me` | View account information |
+| `runpodctl ssh` | | Manage SSH keys and get connection info |
+
## Help and reference
Learn how to use Runpod CLI commands by browsing the CLI reference using the sidebar to the left, or by running the `help` command:
-```sh
+```bash
runpodctl help
```
Learn more about a particular command by running:
-```sh
-runpodctl [command] help
-```
\ No newline at end of file
+```bash
+runpodctl [command] --help
+```
+
+## Shell completion
+
+Enable tab completion for your shell to make working with `runpodctl` easier:
+
+```bash
+# Bash
+runpodctl completion bash >> ~/.bashrc
+
+# Zsh
+runpodctl completion zsh >> ~/.zshrc
+```
+
+Restart your shell or source the configuration file for changes to take effect.
diff --git a/runpodctl/reference/runpodctl-billing.mdx b/runpodctl/reference/runpodctl-billing.mdx
new file mode 100644
index 00000000..1f476a37
--- /dev/null
+++ b/runpodctl/reference/runpodctl-billing.mdx
@@ -0,0 +1,42 @@
+---
+title: "billing"
+sidebarTitle: "billing"
+---
+
+View billing history for Pods, Serverless endpoints, and network volumes.
+
+
+```bash Command
+runpodctl billing
+```
+
+
+## Subcommands
+
+### View Pod billing
+
+View billing history for Pods:
+
+```bash
+runpodctl billing pods
+```
+
+### View Serverless billing
+
+View billing history for Serverless endpoints:
+
+```bash
+runpodctl billing serverless
+```
+
+### View network volume billing
+
+View billing history for network volumes:
+
+```bash
+runpodctl billing network-volume
+```
+
+## Related commands
+
+- [`runpodctl user`](/runpodctl/reference/runpodctl-user)
diff --git a/runpodctl/reference/runpodctl-create-pod.mdx b/runpodctl/reference/runpodctl-create-pod.mdx
index 315e4816..e69de29b 100644
--- a/runpodctl/reference/runpodctl-create-pod.mdx
+++ b/runpodctl/reference/runpodctl-create-pod.mdx
@@ -1,101 +0,0 @@
----
-title: "create pod"
-sidebarTitle: "create pod"
----
-
-Create and start a new Pod on Runpod with configuration options for GPU type, storage, networking, and cloud tier.
-
-
-```sh Command
-runpodctl create pod [flags]
-```
-
-
-## Example
-
-Create a Pod with 2 RTX 4090 GPUs in the Secure Cloud with a custom container image:
-
-```sh
-runpodctl create pod \
- --name "my-training-pod" \
- --gpuType "NVIDIA GeForce RTX 3090" \
- --gpuCount 2 \
- --secureCloud \
- --imageName "runpod/pytorch:2.0.1-py3.10-cuda11.8.0-devel" \
- --containerDiskSize 50 \
- --volumeSize 100
-```
-
-## Flags
-
-
-A custom name for your Pod to make it easy to identify and reference.
-
-
-
-The GPU type to use for the Pod (e.g., `NVIDIA GeForce RTX 4090`, `NVIDIA B200`, `NVIDIA L40S`). Use the GPU ID (long form) from the [GPU types reference](/references/gpu-types) table to specify the GPU type.
-
-
-
-The number of GPUs to allocate to the Pod.
-
-
-
-Create the Pod in the Secure Cloud tier, which offers enterprise-grade infrastructure with enhanced reliability.
-
-
-
-Create the Pod in the Community Cloud tier, which typically offers lower pricing with spot instance availability.
-
-
-
-The Docker container image to use for the Pod (e.g., `runpod/pytorch:latest`).
-
-
-
-The ID of a template to use for Pod configuration, which pre-defines the image and environment settings.
-
-
-
-The size of the container disk in gigabytes, used for temporary storage within the container.
-
-
-
-The size of the persistent volume in gigabytes, which retains data across Pod restarts.
-
-
-
-The mount path for the persistent volume inside the container.
-
-
-
-The ID of an existing [network volume](/storage/network-volumes) to attach to the Pod for shared storage across multiple Pods.
-
-
-
-The maximum price ceiling in dollars per hour. If not specified, the Pod will be created at the lowest available price.
-
-
-
-The minimum system memory required in gigabytes.
-
-
-
-The minimum number of vCPUs required for the Pod.
-
-
-
-Environment variables to set in the container. Specify multiple times for multiple variables (e.g., `--env KEY1=VALUE1 --env KEY2=VALUE2`).
-
-
-
-Additional arguments to pass to the container when it starts.
-
-
-
-Ports to expose from the container. Maximum of 1 HTTP port and 1 TCP port allowed (e.g., `--ports 8888/http --ports 22/tcp`).
-
-
-## Related commands
-
-- [`runpodctl create pods`](/runpodctl/reference/runpodctl-create-pods)
diff --git a/runpodctl/reference/runpodctl-create-pods.mdx b/runpodctl/reference/runpodctl-create-pods.mdx
index f5f4f292..e69de29b 100644
--- a/runpodctl/reference/runpodctl-create-pods.mdx
+++ b/runpodctl/reference/runpodctl-create-pods.mdx
@@ -1,104 +0,0 @@
----
-title: "create pods"
-sidebarTitle: "create pods"
----
-
-Create multiple Pods at once with identical configurations (useful for parallel workloads or distributed training).
-
-
-```sh Command
-runpodctl create pods [flags]
-```
-
-
-## Example
-
-Create 3 identical Pods with the name "training-worker" in the Secure Cloud:
-
-```sh
-runpodctl create pods \
- --name "training-worker" \
- --podCount 3 \
- --gpuType "NVIDIA GeForce RTX 3090" \
- --gpuCount 1 \
- --secureCloud \
- --imageName "runpod/pytorch:2.0.1-py3.10-cuda11.8.0-devel"
-```
-
-## Flags
-
-
-A custom name for the Pods. All Pods in the group will share this base name.
-
-
-
-The number of Pods to create.
-
-
-
-The GPU type to use for the Pods (e.g., `NVIDIA GeForce RTX 4090`, `NVIDIA B200`, `NVIDIA L40S`). Use the GPU ID (long form) from the [GPU types reference](/references/gpu-types) table to specify the GPU type.
-
-
-
-The number of GPUs to allocate to each Pod.
-
-
-
-Create the Pods in the Secure Cloud tier, which offers enterprise-grade infrastructure with enhanced reliability.
-
-
-
-Create the Pods in the Community Cloud tier, which typically offers lower pricing with spot instance availability.
-
-
-
-The Docker container image to use for the Pods (e.g., `runpod/pytorch:latest`).
-
-
-
-The ID of a template to use for Pod configuration, which pre-defines the image and environment settings.
-
-
-
-The size of the container disk in gigabytes for each Pod.
-
-
-
-The size of the persistent volume in gigabytes for each Pod.
-
-
-
-The mount path for the persistent volume inside each container.
-
-
-
-The ID of an existing network volume to attach to all Pods for shared storage.
-
-
-
-The maximum price ceiling in dollars per hour. If not specified, Pods will be created at the lowest available price.
-
-
-
-The minimum system memory required in gigabytes for each Pod.
-
-
-
-The minimum number of vCPUs required for each Pod.
-
-
-
-Environment variables to set in the containers. Specify multiple times for multiple variables.
-
-
-
-Additional arguments to pass to the containers when they start.
-
-
-
-Ports to expose from the containers. Maximum of 1 HTTP port and 1 TCP port allowed per Pod.
-
-
-## Related commands
-
-- [`runpodctl create pod`](/runpodctl/reference/runpodctl-create-pod)
diff --git a/runpodctl/reference/runpodctl-datacenter.mdx b/runpodctl/reference/runpodctl-datacenter.mdx
new file mode 100644
index 00000000..380f044f
--- /dev/null
+++ b/runpodctl/reference/runpodctl-datacenter.mdx
@@ -0,0 +1,56 @@
+---
+title: "datacenter"
+sidebarTitle: "datacenter"
+---
+
+List available datacenters and their locations.
+
+
+```bash Command
+runpodctl datacenter
+```
+
+
+## Alias
+
+You can use `dc` as a shorthand for `datacenter`:
+
+```bash
+runpodctl dc list
+```
+
+## Subcommands
+
+### List datacenters
+
+List all available datacenters:
+
+```bash
+runpodctl datacenter list
+```
+
+## Example output
+
+```
+ID Name Location
+US-GA-1 Atlanta Atlanta, GA, USA
+US-TX-1 Dallas Dallas, TX, USA
+EU-RO-1 Romania Bucharest, Romania
+```
+
+## Using datacenter IDs
+
+When creating network volumes or specifying preferred datacenters for Pods, use the datacenter ID:
+
+```bash
+# Create a network volume in a specific datacenter
+runpodctl network-volume create --name "my-volume" --size 100 --data-center-id "US-GA-1"
+
+# Create a Pod with preferred datacenter
+runpodctl pod create --template-id runpod-torch-v21 --gpu-id "NVIDIA RTX 4090" --data-center-ids "US-GA-1"
+```
+
+## Related commands
+
+- [`runpodctl network-volume create`](/runpodctl/reference/runpodctl-network-volume)
+- [`runpodctl pod create`](/runpodctl/reference/runpodctl-pod)
diff --git a/runpodctl/reference/runpodctl-doctor.mdx b/runpodctl/reference/runpodctl-doctor.mdx
new file mode 100644
index 00000000..5fc5755f
--- /dev/null
+++ b/runpodctl/reference/runpodctl-doctor.mdx
@@ -0,0 +1,37 @@
+---
+title: "doctor"
+sidebarTitle: "doctor"
+---
+
+Diagnose and fix CLI issues, including first-time setup for API keys and SSH configuration.
+
+
+```bash Command
+runpodctl doctor
+```
+
+
+## Description
+
+The `doctor` command is the recommended way to set up `runpodctl` for the first time. It guides you through:
+
+- Configuring your API key
+- Setting up SSH keys for Pod access
+- Verifying your configuration
+
+If you encounter issues with the CLI, running `doctor` can help diagnose and fix common problems.
+
+## Example
+
+Run the doctor command to set up or troubleshoot your CLI:
+
+```bash
+runpodctl doctor
+```
+
+The command will interactively guide you through the setup process and report any issues it finds.
+
+## Related commands
+
+- [`runpodctl config`](/runpodctl/reference/runpodctl-config)
+- [`runpodctl ssh add-key`](/runpodctl/reference/runpodctl-ssh)
diff --git a/runpodctl/reference/runpodctl-get-cloud.mdx b/runpodctl/reference/runpodctl-get-cloud.mdx
index 3d82af50..e69de29b 100644
--- a/runpodctl/reference/runpodctl-get-cloud.mdx
+++ b/runpodctl/reference/runpodctl-get-cloud.mdx
@@ -1,48 +0,0 @@
----
-title: "get cloud"
-sidebarTitle: "get cloud"
----
-
-List all GPUs currently available in the Runpod cloud, with options for filtering by GPU count, memory/disk size, and cloud type.
-
-
-```sh Command
-runpodctl get cloud [flags]
-```
-
-
-## Example
-
-List all Secure Cloud GPUs with at least 4 instances available:
-
-```sh
-runpodctl get cloud 4 --secure
-```
-
-## Arguments
-
-
-The minimum number of GPUs that must be available for each option listed.
-
-
-## Flags
-
-
-Filter for GPUs with a minimum disk size (in gigabytes).
-
-
-
-Filter for GPUs with a minimum system memory size (in gigabytes).
-
-
-
-Filter for GPUs with a minimum number of vCPUs.
-
-
-
-List only GPUs from the [Secure Cloud](https://docs.runpod.io/pods/choose-a-pod#secure-cloud-vs-community-cloud).
-
-
-
-List only GPUs from the [Community Cloud](https://docs.runpod.io/pods/choose-a-pod#secure-cloud-vs-community-cloud).
-
diff --git a/runpodctl/reference/runpodctl-get-pod.mdx b/runpodctl/reference/runpodctl-get-pod.mdx
index ea6754c5..e69de29b 100644
--- a/runpodctl/reference/runpodctl-get-pod.mdx
+++ b/runpodctl/reference/runpodctl-get-pod.mdx
@@ -1,32 +0,0 @@
----
-title: "get pod"
-sidebarTitle: "get pod"
----
-
-List all your Pods or retrieve details about a specific Pod by its ID.
-
-
-```sh Command
-runpodctl get pod [flags]
-```
-
-
-## Example
-
-List all your Pods with complete field information:
-
-```sh
-runpodctl get pod --allfields
-```
-
-## Arguments
-
-
-The ID of a specific Pod to retrieve. If no ID is provided, all Pods will be listed.
-
-
-## Flags
-
-
-Include all available fields in the output, providing complete Pod information.
-
diff --git a/runpodctl/reference/runpodctl-gpu.mdx b/runpodctl/reference/runpodctl-gpu.mdx
new file mode 100644
index 00000000..38b26d51
--- /dev/null
+++ b/runpodctl/reference/runpodctl-gpu.mdx
@@ -0,0 +1,58 @@
+---
+title: "gpu"
+sidebarTitle: "gpu"
+---
+
+List available GPU types and their specifications.
+
+
+```bash Command
+runpodctl gpu [flags]
+```
+
+
+## Subcommands
+
+### List available GPUs
+
+List GPUs that are currently available:
+
+```bash
+runpodctl gpu list
+```
+
+Include unavailable GPUs in the list:
+
+```bash
+runpodctl gpu list --include-unavailable
+```
+
+#### List flags
+
+| Flag | Type | Description |
+|------|------|-------------|
+| `--include-unavailable` | bool | Include GPUs that are currently unavailable |
+
+## Example output
+
+```
+GPU ID VRAM Available
+NVIDIA RTX 4090 24 GB Yes
+NVIDIA A100 80GB PCIe 80 GB Yes
+NVIDIA H100 PCIe 80 GB Yes
+NVIDIA L40S 48 GB Yes
+```
+
+## Using GPU IDs
+
+When creating Pods or Serverless endpoints, use the GPU ID from the list with the `--gpu-id` flag:
+
+```bash
+runpodctl pod create --template-id runpod-torch-v21 --gpu-id "NVIDIA RTX 4090"
+```
+
+## Related commands
+
+- [`runpodctl pod create`](/runpodctl/reference/runpodctl-pod)
+- [`runpodctl serverless create`](/runpodctl/reference/runpodctl-serverless)
+- [`runpodctl datacenter list`](/runpodctl/reference/runpodctl-datacenter)
diff --git a/runpodctl/reference/runpodctl-model.mdx b/runpodctl/reference/runpodctl-model.mdx
new file mode 100644
index 00000000..fd6b73e3
--- /dev/null
+++ b/runpodctl/reference/runpodctl-model.mdx
@@ -0,0 +1,67 @@
+---
+title: "model"
+sidebarTitle: "model"
+---
+
+List and manage models in your Runpod account.
+
+
+```bash Command
+runpodctl model [flags]
+```
+
+
+## Subcommands
+
+### List models
+
+List your models:
+
+```bash
+# List your models
+runpodctl model list
+
+# List all available models
+runpodctl model list --all
+
+# Filter by name
+runpodctl model list --name "llama"
+
+# Filter by provider
+runpodctl model list --provider "meta"
+```
+
+#### List flags
+
+| Flag | Type | Description |
+|------|------|-------------|
+| `--all` | bool | List all available models |
+| `--name` | string | Filter by model name |
+| `--provider` | string | Filter by model provider |
+
+### Add a model
+
+Add a model to your account:
+
+```bash
+runpodctl model add --name "my-model" --model-path ./model
+```
+
+#### Add flags
+
+| Flag | Type | Description |
+|------|------|-------------|
+| `--name` | string | Model name (required) |
+| `--model-path` | string | Path to the model files (required) |
+
+### Remove a model
+
+Remove a model from your account:
+
+```bash
+runpodctl model remove --name "my-model"
+```
+
+## Related commands
+
+- [`runpodctl serverless`](/runpodctl/reference/runpodctl-serverless)
diff --git a/runpodctl/reference/runpodctl-network-volume.mdx b/runpodctl/reference/runpodctl-network-volume.mdx
new file mode 100644
index 00000000..19cacf55
--- /dev/null
+++ b/runpodctl/reference/runpodctl-network-volume.mdx
@@ -0,0 +1,81 @@
+---
+title: "network-volume"
+sidebarTitle: "network-volume"
+---
+
+Manage network volumes for persistent shared storage across Pods and Serverless endpoints.
+
+
+```bash Command
+runpodctl network-volume [flags]
+```
+
+
+## Alias
+
+You can use `nv` as a shorthand for `network-volume`:
+
+```bash
+runpodctl nv list
+```
+
+## Subcommands
+
+### List network volumes
+
+List all your network volumes:
+
+```bash
+runpodctl network-volume list
+```
+
+### Get network volume details
+
+Get detailed information about a specific network volume:
+
+```bash
+runpodctl network-volume get
+```
+
+### Create a network volume
+
+Create a new network volume:
+
+```bash
+runpodctl network-volume create --name "my-volume" --size 100 --data-center-id "US-GA-1"
+```
+
+#### Create flags
+
+| Flag | Type | Description |
+|------|------|-------------|
+| `--name` | string | Volume name (required) |
+| `--size` | int | Volume size in GB (required) |
+| `--data-center-id` | string | Datacenter ID where the volume will be created (required) |
+
+### Update a network volume
+
+Update network volume configuration:
+
+```bash
+runpodctl network-volume update --name "new-name"
+```
+
+### Delete a network volume
+
+Delete a network volume:
+
+```bash
+runpodctl network-volume delete
+```
+
+
+
+Deleting a network volume permanently removes all data stored on it. Make sure to back up any important data before deleting.
+
+
+
+## Related commands
+
+- [`runpodctl pod create`](/runpodctl/reference/runpodctl-pod)
+- [`runpodctl datacenter list`](/runpodctl/reference/runpodctl-datacenter)
diff --git a/runpodctl/reference/runpodctl-pod.mdx b/runpodctl/reference/runpodctl-pod.mdx
new file mode 100644
index 00000000..57896465
--- /dev/null
+++ b/runpodctl/reference/runpodctl-pod.mdx
@@ -0,0 +1,138 @@
+---
+title: "pod"
+sidebarTitle: "pod"
+---
+
+Manage Pods, including creating, listing, starting, stopping, and deleting Pods.
+
+
+```bash Command
+runpodctl pod [flags]
+```
+
+
+## Subcommands
+
+### List Pods
+
+List all your Pods:
+
+```bash
+runpodctl pod list
+```
+
+### Get Pod details
+
+Get detailed information about a specific Pod, including SSH connection info:
+
+```bash
+runpodctl pod get
+```
+
+### Create a Pod
+
+Create a new Pod from a template:
+
+```bash
+runpodctl pod create --template-id runpod-torch-v21 --gpu-id "NVIDIA RTX 4090"
+```
+
+Create a Pod with a custom Docker image:
+
+```bash
+runpodctl pod create --image "runpod/pytorch:2.1.0-py3.10-cuda11.8.0-devel-ubuntu22.04" --gpu-id "NVIDIA RTX 4090"
+```
+
+Create a CPU-only Pod:
+
+```bash
+runpodctl pod create --compute-type cpu --image ubuntu:22.04
+```
+
+#### Create flags
+
+| Flag | Type | Description |
+|------|------|-------------|
+| `--template-id` | string | Template ID to use for Pod configuration |
+| `--image` | string | Docker image to use (e.g., `runpod/pytorch:latest`) |
+| `--name` | string | Custom name for the Pod |
+| `--gpu-id` | string | GPU type (e.g., `NVIDIA RTX 4090`, `NVIDIA A100 80GB PCIe`) |
+| `--gpu-count` | int | Number of GPUs to allocate |
+| `--compute-type` | string | Compute type (`gpu` or `cpu`) |
+| `--container-disk-in-gb` | int | Container disk size in GB |
+| `--volume-in-gb` | int | Persistent volume size in GB |
+| `--volume-mount-path` | string | Mount path for the persistent volume |
+| `--network-volume-id` | string | ID of a network volume to attach |
+| `--ports` | string | Ports to expose (e.g., `8888/http`) |
+| `--env` | string | Environment variables (can be specified multiple times) |
+| `--cloud-type` | string | Cloud tier (`SECURE` or `COMMUNITY`) |
+| `--data-center-ids` | string | Preferred datacenter IDs |
+| `--global-networking` | bool | Enable global networking |
+| `--public-ip` | bool | Enable public IP |
+
+### Start a Pod
+
+Start a stopped Pod:
+
+```bash
+runpodctl pod start
+```
+
+### Stop a Pod
+
+Stop a running Pod:
+
+```bash
+runpodctl pod stop
+```
+
+### Restart a Pod
+
+Restart a Pod:
+
+```bash
+runpodctl pod restart
+```
+
+### Reset a Pod
+
+Reset a Pod to its initial state:
+
+```bash
+runpodctl pod reset
+```
+
+### Update a Pod
+
+Update Pod configuration:
+
+```bash
+runpodctl pod update --name "new-name"
+```
+
+### Delete a Pod
+
+Delete a Pod:
+
+```bash
+runpodctl pod delete
+```
+
+## Pod URLs
+
+Access exposed ports on your Pod using the following URL pattern:
+
+```
+https://-.proxy.runpod.net
+```
+
+For example, if your Pod ID is `abc123xyz` and you exposed port 8888:
+```
+https://abc123xyz-8888.proxy.runpod.net
+```
+
+## Related commands
+
+- [`runpodctl gpu list`](/runpodctl/reference/runpodctl-gpu)
+- [`runpodctl template`](/runpodctl/reference/runpodctl-template)
+- [`runpodctl ssh`](/runpodctl/reference/runpodctl-ssh)
diff --git a/runpodctl/reference/runpodctl-registry.mdx b/runpodctl/reference/runpodctl-registry.mdx
new file mode 100644
index 00000000..cdfadb3a
--- /dev/null
+++ b/runpodctl/reference/runpodctl-registry.mdx
@@ -0,0 +1,67 @@
+---
+title: "registry"
+sidebarTitle: "registry"
+---
+
+Manage container registry authentications for private Docker images.
+
+
+```bash Command
+runpodctl registry [flags]
+```
+
+
+## Alias
+
+You can use `reg` as a shorthand for `registry`:
+
+```bash
+runpodctl reg list
+```
+
+## Subcommands
+
+### List registry authentications
+
+List all your container registry authentications:
+
+```bash
+runpodctl registry list
+```
+
+### Get registry authentication details
+
+Get details about a specific registry authentication:
+
+```bash
+runpodctl registry get
+```
+
+### Create a registry authentication
+
+Create credentials for a private container registry:
+
+```bash
+runpodctl registry create --name "docker-hub" --username "myuser" --password "mypassword"
+```
+
+#### Create flags
+
+| Flag | Type | Description |
+|------|------|-------------|
+| `--name` | string | Name for this registry authentication (required) |
+| `--username` | string | Registry username (required) |
+| `--password` | string | Registry password or access token (required) |
+
+### Delete a registry authentication
+
+Delete a registry authentication:
+
+```bash
+runpodctl registry delete
+```
+
+## Related commands
+
+- [`runpodctl template create`](/runpodctl/reference/runpodctl-template)
+- [`runpodctl pod create`](/runpodctl/reference/runpodctl-pod)
diff --git a/runpodctl/reference/runpodctl-remove-pod.mdx b/runpodctl/reference/runpodctl-remove-pod.mdx
index ca214d29..e69de29b 100644
--- a/runpodctl/reference/runpodctl-remove-pod.mdx
+++ b/runpodctl/reference/runpodctl-remove-pod.mdx
@@ -1,31 +0,0 @@
----
-title: "remove pod"
-sidebarTitle: "remove pod"
----
-
-Permanently delete a Pod and all its associated data. This action cannot be undone.
-
-
-```sh Command
-runpodctl remove pod
-```
-
-
-## Example
-
-Terminate a Pod by its ID.
-
-```sh
-runpodctl remove pod abc123xyz456
-```
-
-## Arguments
-
-
-The ID of the Pod to terminate. You can find Pod IDs using the `runpodctl get pod` command.
-
-
-## Related commands
-
-- [`runpodctl remove pods`](/runpodctl/reference/runpodctl-remove-pods)
-- [`runpodctl get pod`](/runpodctl/reference/runpodctl-get-pod)
diff --git a/runpodctl/reference/runpodctl-remove-pods.mdx b/runpodctl/reference/runpodctl-remove-pods.mdx
index 8de04940..e69de29b 100644
--- a/runpodctl/reference/runpodctl-remove-pods.mdx
+++ b/runpodctl/reference/runpodctl-remove-pods.mdx
@@ -1,37 +0,0 @@
----
-title: "remove pods"
-sidebarTitle: "remove pods"
----
-
-Terminate multiple Pods that share the same name. This is useful for cleaning up groups of Pods created with the `create pods` command.
-
-
-```sh Command
-runpodctl remove pods [flags]
-```
-
-
-## Example
-
-Terminate all Pods named "training-worker":
-
-```sh
-runpodctl remove pods training-worker
-```
-
-## Arguments
-
-
-The name of the Pods to terminate. All Pods with this exact name will be removed.
-
-
-## Flags
-
-
-The number of Pods with the specified name to terminate. This limits the removal to a specific count rather than removing all matching Pods.
-
-
-## Related commands
-
-- [`runpodctl remove pod`](/runpodctl/reference/runpodctl-remove-pod)
-- [`runpodctl get pod`](/runpodctl/reference/runpodctl-get-pod)
diff --git a/runpodctl/reference/runpodctl-serverless.mdx b/runpodctl/reference/runpodctl-serverless.mdx
new file mode 100644
index 00000000..5a8880ab
--- /dev/null
+++ b/runpodctl/reference/runpodctl-serverless.mdx
@@ -0,0 +1,92 @@
+---
+title: "serverless"
+sidebarTitle: "serverless"
+---
+
+Manage Serverless endpoints, including creating, listing, updating, and deleting endpoints.
+
+
+```bash Command
+runpodctl serverless [flags]
+```
+
+
+## Alias
+
+You can use `sls` as a shorthand for `serverless`:
+
+```bash
+runpodctl sls list
+```
+
+## Subcommands
+
+### List endpoints
+
+List all your Serverless endpoints:
+
+```bash
+runpodctl serverless list
+```
+
+### Get endpoint details
+
+Get detailed information about a specific endpoint:
+
+```bash
+runpodctl serverless get
+```
+
+### Create an endpoint
+
+Create a new Serverless endpoint:
+
+```bash
+runpodctl serverless create --name "my-endpoint" --template-id "tpl_abc123"
+```
+
+#### Create flags
+
+| Flag | Type | Description |
+|------|------|-------------|
+| `--name` | string | Name for the endpoint |
+| `--template-id` | string | Template ID to use (required) |
+| `--gpu-id` | string | GPU type for workers |
+| `--gpu-count` | int | Number of GPUs per worker |
+| `--compute-type` | string | Compute type (`gpu` or `cpu`) |
+| `--workers-min` | int | Minimum number of workers |
+| `--workers-max` | int | Maximum number of workers |
+| `--network-volume-id` | string | ID of a network volume to attach |
+| `--data-center-ids` | string | Preferred datacenter IDs |
+
+### Update an endpoint
+
+Update endpoint configuration:
+
+```bash
+runpodctl serverless update --workers-max 5
+```
+
+### Delete an endpoint
+
+Delete an endpoint:
+
+```bash
+runpodctl serverless delete
+```
+
+## Serverless URLs
+
+Access your Serverless endpoint using these URL patterns:
+
+| Operation | URL |
+|-----------|-----|
+| Async request | `https://api.runpod.ai/v2//run` |
+| Sync request | `https://api.runpod.ai/v2//runsync` |
+| Health check | `https://api.runpod.ai/v2//health` |
+| Job status | `https://api.runpod.ai/v2//status/` |
+
+## Related commands
+
+- [`runpodctl template`](/runpodctl/reference/runpodctl-template)
+- [`runpodctl gpu list`](/runpodctl/reference/runpodctl-gpu)
diff --git a/runpodctl/reference/runpodctl-ssh-add-key.mdx b/runpodctl/reference/runpodctl-ssh-add-key.mdx
index b5c42997..e69de29b 100644
--- a/runpodctl/reference/runpodctl-ssh-add-key.mdx
+++ b/runpodctl/reference/runpodctl-ssh-add-key.mdx
@@ -1,34 +0,0 @@
----
-title: "ssh add-key"
-sidebarTitle: "ssh add-key"
----
-
-Add an SSH public key to your Runpod account for secure Pod access. If no key is provided, a new key pair will be generated automatically.
-
-
-```sh Command
-runpodctl ssh add-key [flags]
-```
-
-
-## Example
-
-Add an SSH key from a file:
-
-```sh
-runpodctl ssh add-key --key-file ~/.ssh/id_rsa.pub
-```
-
-## Flags
-
-
-The SSH public key content to add to your account. This should be the full public key string.
-
-
-
-The path to a file containing the SSH public key to add. This is typically a `.pub` file from your SSH key pair.
-
-
-## Related commands
-
-- [`runpodctl ssh list-keys`](/runpodctl/reference/runpodctl-ssh-list-keys)
diff --git a/runpodctl/reference/runpodctl-ssh-list-keys.mdx b/runpodctl/reference/runpodctl-ssh-list-keys.mdx
index c5cbd58b..e69de29b 100644
--- a/runpodctl/reference/runpodctl-ssh-list-keys.mdx
+++ b/runpodctl/reference/runpodctl-ssh-list-keys.mdx
@@ -1,24 +0,0 @@
----
-title: "ssh list-keys"
-sidebarTitle: "ssh list-keys"
----
-
-Display all SSH keys associated with your Runpod account.
-
-
-```sh Command
-runpodctl ssh list-keys [flags]
-```
-
-
-## Example
-
-List all your SSH keys:
-
-```sh
-runpodctl ssh list-keys
-```
-
-## Related commands
-
-- [`runpodctl ssh add-key`](/runpodctl/reference/runpodctl-ssh-add-key)
diff --git a/runpodctl/reference/runpodctl-ssh.mdx b/runpodctl/reference/runpodctl-ssh.mdx
new file mode 100644
index 00000000..86687660
--- /dev/null
+++ b/runpodctl/reference/runpodctl-ssh.mdx
@@ -0,0 +1,56 @@
+---
+title: "ssh"
+sidebarTitle: "ssh"
+---
+
+Manage SSH keys and get SSH connection information for Pods.
+
+
+```bash Command
+runpodctl ssh [flags]
+```
+
+
+## Subcommands
+
+### Get SSH connection info
+
+Get SSH connection details for a Pod. This returns the SSH command and key information, but does not initiate an interactive session:
+
+```bash
+runpodctl ssh info
+```
+
+
+
+The `ssh info` command returns connection details that you can use to connect via SSH manually. It does not start an interactive SSH session.
+
+To connect to your Pod, use the SSH command provided in the output:
+```bash
+ssh user@host -p -i
+```
+
+
+
+### List SSH keys
+
+List all SSH keys associated with your account:
+
+```bash
+runpodctl ssh list-keys
+```
+
+### Add an SSH key
+
+Add a new SSH key to your account:
+
+```bash
+runpodctl ssh add-key
+```
+
+This command will prompt you to enter or generate an SSH key.
+
+## Related commands
+
+- [`runpodctl pod get`](/runpodctl/reference/runpodctl-pod)
+- [`runpodctl doctor`](/runpodctl/reference/runpodctl-doctor)
diff --git a/runpodctl/reference/runpodctl-start-pod.mdx b/runpodctl/reference/runpodctl-start-pod.mdx
index 6b09d31d..e69de29b 100644
--- a/runpodctl/reference/runpodctl-start-pod.mdx
+++ b/runpodctl/reference/runpodctl-start-pod.mdx
@@ -1,37 +0,0 @@
----
-title: "start pod"
-sidebarTitle: "start pod"
----
-
-Start a stopped Pod, resuming compute and billing. Use this to restart Pods that were previously stopped.
-
-
-```sh Command
-runpodctl start pod [flags]
-```
-
-
-## Example
-
-Start a stopped Pod with a custom bid price for spot instances:
-
-```sh
-runpodctl start pod abc123xyz456 --bid 0.50
-```
-
-## Arguments
-
-
-The ID of the Pod to start. You can find Pod IDs using the `runpodctl get pod` command.
-
-
-## Flags
-
-
-The bid price per GPU in dollars per hour for spot instance pricing. This only applies to Community Cloud Pods.
-
-
-## Related commands
-
-- [`runpodctl stop pod`](/runpodctl/reference/runpodctl-stop-pod)
-- [`runpodctl get pod`](/runpodctl/reference/runpodctl-get-pod)
diff --git a/runpodctl/reference/runpodctl-stop-pod.mdx b/runpodctl/reference/runpodctl-stop-pod.mdx
index 4598959a..e69de29b 100644
--- a/runpodctl/reference/runpodctl-stop-pod.mdx
+++ b/runpodctl/reference/runpodctl-stop-pod.mdx
@@ -1,31 +0,0 @@
----
-title: "stop pod"
-sidebarTitle: "stop pod"
----
-
-Stop a running Pod to pause compute operations. The Pod's persistent storage will be retained, but you'll continue to be charged for storage until the Pod is removed.
-
-
-```sh Command
-runpodctl stop pod [flags]
-```
-
-
-## Example
-
-Stop a running Pod.
-
-```sh
-runpodctl stop pod abc123xyz456
-```
-
-## Arguments
-
-
-The ID of the Pod to stop. You can find Pod IDs using the `runpodctl get pod` command.
-
-
-## Related commands
-
-- [`runpodctl start pod`](/runpodctl/reference/runpodctl-start-pod)
-- [`runpodctl get pod`](/runpodctl/reference/runpodctl-get-pod)
diff --git a/runpodctl/reference/runpodctl-template.mdx b/runpodctl/reference/runpodctl-template.mdx
new file mode 100644
index 00000000..72fdbe21
--- /dev/null
+++ b/runpodctl/reference/runpodctl-template.mdx
@@ -0,0 +1,127 @@
+---
+title: "template"
+sidebarTitle: "template"
+---
+
+List, search, and manage templates for Pods and Serverless endpoints.
+
+
+```bash Command
+runpodctl template [flags]
+```
+
+
+## Alias
+
+You can use `tpl` as a shorthand for `template`:
+
+```bash
+runpodctl tpl list
+```
+
+## Subcommands
+
+### List templates
+
+List available templates:
+
+```bash
+# List official and community templates (first 10)
+runpodctl template list
+
+# List only official templates
+runpodctl template list --type official
+
+# List community templates
+runpodctl template list --type community
+
+# List your own templates
+runpodctl template list --type user
+
+# List all templates including user templates
+runpodctl template list --all
+
+# Show more results
+runpodctl template list --limit 50
+```
+
+#### List flags
+
+| Flag | Type | Description |
+|------|------|-------------|
+| `--type` | string | Filter by template type (`official`, `community`, `user`) |
+| `--limit` | int | Maximum number of results to return |
+| `--offset` | int | Number of results to skip |
+| `--all` | bool | Include all templates including user templates |
+
+### Search templates
+
+Search for templates by name:
+
+```bash
+# Search for PyTorch templates
+runpodctl template search pytorch
+
+# Search with limit
+runpodctl template search comfyui --limit 5
+
+# Search only official templates
+runpodctl template search vllm --type official
+```
+
+### Get template details
+
+Get detailed information about a specific template, including README, environment variables, and exposed ports:
+
+```bash
+runpodctl template get
+```
+
+### Create a template
+
+Create a new template:
+
+```bash
+# Create a Pod template
+runpodctl template create --name "my-template" --image "runpod/pytorch:latest"
+
+# Create a Serverless template
+runpodctl template create --name "my-serverless-template" --image "my-image:latest" --serverless
+```
+
+#### Create flags
+
+| Flag | Type | Description |
+|------|------|-------------|
+| `--name` | string | Template name (required) |
+| `--image` | string | Docker image (required) |
+| `--container-disk-in-gb` | int | Container disk size in GB |
+| `--volume-in-gb` | int | Persistent volume size in GB |
+| `--volume-mount-path` | string | Volume mount path |
+| `--ports` | string | Ports to expose |
+| `--env` | string | Environment variables (can be specified multiple times) |
+| `--docker-start-cmd` | string | Docker start command |
+| `--docker-entrypoint` | string | Docker entrypoint |
+| `--serverless` | bool | Create as a Serverless template |
+| `--readme` | string | Template README content |
+
+### Update a template
+
+Update an existing template:
+
+```bash
+runpodctl template update --name "new-name"
+```
+
+### Delete a template
+
+Delete a template:
+
+```bash
+runpodctl template delete
+```
+
+## Related commands
+
+- [`runpodctl pod create`](/runpodctl/reference/runpodctl-pod)
+- [`runpodctl serverless create`](/runpodctl/reference/runpodctl-serverless)
diff --git a/runpodctl/reference/runpodctl-user.mdx b/runpodctl/reference/runpodctl-user.mdx
new file mode 100644
index 00000000..fe2ab4ee
--- /dev/null
+++ b/runpodctl/reference/runpodctl-user.mdx
@@ -0,0 +1,38 @@
+---
+title: "user"
+sidebarTitle: "user"
+---
+
+View your account information and current balance.
+
+
+```bash Command
+runpodctl user
+```
+
+
+## Alias
+
+You can use `me` as a shorthand for `user`:
+
+```bash
+runpodctl me
+```
+
+## Description
+
+The `user` command displays information about your Runpod account, including:
+
+- Account email
+- Current credit balance
+- Account status
+
+## Example
+
+```bash
+runpodctl user
+```
+
+## Related commands
+
+- [`runpodctl billing`](/runpodctl/reference/runpodctl-billing)
From 9827d7578814bee9b9b5010cf722c1c2153ce2d0 Mon Sep 17 00:00:00 2001
From: Mo King
Date: Fri, 20 Mar 2026 19:07:51 -0400
Subject: [PATCH 02/14] Test and update runpodctl 2.0
---
runpodctl/manage-pods.mdx | 0
runpodctl/reference/runpodctl-billing.mdx | 68 +++++++++-
runpodctl/reference/runpodctl-config.mdx | 18 ++-
runpodctl/reference/runpodctl-create-pod.mdx | 0
runpodctl/reference/runpodctl-create-pods.mdx | 0
runpodctl/reference/runpodctl-datacenter.mdx | 37 +++++-
runpodctl/reference/runpodctl-get-cloud.mdx | 0
runpodctl/reference/runpodctl-get-pod.mdx | 0
runpodctl/reference/runpodctl-gpu.mdx | 33 +++--
runpodctl/reference/runpodctl-model.mdx | 77 +++++++++--
.../reference/runpodctl-network-volume.mdx | 26 +++-
runpodctl/reference/runpodctl-pod.mdx | 121 +++++++++++++++---
runpodctl/reference/runpodctl-receive.mdx | 13 +-
runpodctl/reference/runpodctl-registry.mdx | 16 ++-
runpodctl/reference/runpodctl-remove-pod.mdx | 0
runpodctl/reference/runpodctl-remove-pods.mdx | 0
runpodctl/reference/runpodctl-send.mdx | 7 +-
runpodctl/reference/runpodctl-serverless.mdx | 78 +++++++++--
runpodctl/reference/runpodctl-ssh-add-key.mdx | 0
.../reference/runpodctl-ssh-list-keys.mdx | 0
runpodctl/reference/runpodctl-ssh.mdx | 22 +++-
runpodctl/reference/runpodctl-start-pod.mdx | 0
runpodctl/reference/runpodctl-stop-pod.mdx | 0
runpodctl/reference/runpodctl-template.mdx | 113 +++++++++++++---
runpodctl/reference/runpodctl-update.mdx | 6 +-
runpodctl/reference/runpodctl-user.mdx | 24 +++-
runpodctl/reference/runpodctl-version.mdx | 8 +-
runpodctl/transfer-files.mdx | 0
28 files changed, 558 insertions(+), 109 deletions(-)
delete mode 100644 runpodctl/manage-pods.mdx
delete mode 100644 runpodctl/reference/runpodctl-create-pod.mdx
delete mode 100644 runpodctl/reference/runpodctl-create-pods.mdx
delete mode 100644 runpodctl/reference/runpodctl-get-cloud.mdx
delete mode 100644 runpodctl/reference/runpodctl-get-pod.mdx
delete mode 100644 runpodctl/reference/runpodctl-remove-pod.mdx
delete mode 100644 runpodctl/reference/runpodctl-remove-pods.mdx
delete mode 100644 runpodctl/reference/runpodctl-ssh-add-key.mdx
delete mode 100644 runpodctl/reference/runpodctl-ssh-list-keys.mdx
delete mode 100644 runpodctl/reference/runpodctl-start-pod.mdx
delete mode 100644 runpodctl/reference/runpodctl-stop-pod.mdx
delete mode 100644 runpodctl/transfer-files.mdx
diff --git a/runpodctl/manage-pods.mdx b/runpodctl/manage-pods.mdx
deleted file mode 100644
index e69de29b..00000000
diff --git a/runpodctl/reference/runpodctl-billing.mdx b/runpodctl/reference/runpodctl-billing.mdx
index 1f476a37..466399ba 100644
--- a/runpodctl/reference/runpodctl-billing.mdx
+++ b/runpodctl/reference/runpodctl-billing.mdx
@@ -7,7 +7,7 @@ View billing history for Pods, Serverless endpoints, and network volumes.
```bash Command
-runpodctl billing
+runpodctl billing [flags]
```
@@ -21,6 +21,32 @@ View billing history for Pods:
runpodctl billing pods
```
+#### Pod billing flags
+
+
+Time bucket size (`hour`, `day`, `week`, `month`, `year`).
+
+
+
+Start time in RFC3339 format (e.g., `2024-01-01T00:00:00Z`).
+
+
+
+End time in RFC3339 format.
+
+
+
+Group results by `podId` or `gpuId`.
+
+
+
+Filter by specific Pod ID.
+
+
+
+Filter by specific GPU type.
+
+
### View Serverless billing
View billing history for Serverless endpoints:
@@ -29,6 +55,32 @@ View billing history for Serverless endpoints:
runpodctl billing serverless
```
+#### Serverless billing flags
+
+
+Time bucket size (`hour`, `day`, `week`, `month`, `year`).
+
+
+
+Start time in RFC3339 format.
+
+
+
+End time in RFC3339 format.
+
+
+
+Group results by `endpointId`, `podId`, or `gpuId`.
+
+
+
+Filter by specific endpoint ID.
+
+
+
+Filter by specific GPU type.
+
+
### View network volume billing
View billing history for network volumes:
@@ -37,6 +89,20 @@ View billing history for network volumes:
runpodctl billing network-volume
```
+#### Network volume billing flags
+
+
+Time bucket size (`hour`, `day`, `week`, `month`, `year`).
+
+
+
+Start time in RFC3339 format.
+
+
+
+End time in RFC3339 format.
+
+
## Related commands
- [`runpodctl user`](/runpodctl/reference/runpodctl-user)
diff --git a/runpodctl/reference/runpodctl-config.mdx b/runpodctl/reference/runpodctl-config.mdx
index 2c383e3f..c4644628 100644
--- a/runpodctl/reference/runpodctl-config.mdx
+++ b/runpodctl/reference/runpodctl-config.mdx
@@ -6,7 +6,7 @@ sidebarTitle: "config"
Configure the Runpod CLI with your API credentials and API URL to enable programmatic access to your Runpod resources.
-```sh Command
+```bash Command
runpodctl config [flags]
```
@@ -15,11 +15,16 @@ runpodctl config [flags]
Configure the CLI with your API key:
-```sh
-runpodctl config \
- --apiKey "rpaPOIUYYULKDSALVIUT3Q2ZRKZ98IUYTSK2OQQ2CWQxkd01"
+```bash
+runpodctl config --apiKey "your-api-key-here"
```
+
+
+For first-time setup, we recommend using [`runpodctl doctor`](/runpodctl/reference/runpodctl-doctor) instead, which guides you through API key configuration and SSH key setup interactively.
+
+
+
## Flags
@@ -29,3 +34,8 @@ Your Runpod API key, which authenticates the CLI to access your account. You can
The Runpod API endpoint URL. The default value should work for most users.
+
+## Related commands
+
+- [`runpodctl doctor`](/runpodctl/reference/runpodctl-doctor)
+- [`runpodctl user`](/runpodctl/reference/runpodctl-user)
diff --git a/runpodctl/reference/runpodctl-create-pod.mdx b/runpodctl/reference/runpodctl-create-pod.mdx
deleted file mode 100644
index e69de29b..00000000
diff --git a/runpodctl/reference/runpodctl-create-pods.mdx b/runpodctl/reference/runpodctl-create-pods.mdx
deleted file mode 100644
index e69de29b..00000000
diff --git a/runpodctl/reference/runpodctl-datacenter.mdx b/runpodctl/reference/runpodctl-datacenter.mdx
index 380f044f..d74026f8 100644
--- a/runpodctl/reference/runpodctl-datacenter.mdx
+++ b/runpodctl/reference/runpodctl-datacenter.mdx
@@ -7,7 +7,7 @@ List available datacenters and their locations.
```bash Command
-runpodctl datacenter
+runpodctl datacenter [flags]
```
@@ -23,7 +23,7 @@ runpodctl dc list
### List datacenters
-List all available datacenters:
+List all available datacenters with GPU availability:
```bash
runpodctl datacenter list
@@ -31,11 +31,33 @@ runpodctl datacenter list
## Example output
-```
-ID Name Location
-US-GA-1 Atlanta Atlanta, GA, USA
-US-TX-1 Dallas Dallas, TX, USA
-EU-RO-1 Romania Bucharest, Romania
+```json
+[
+ {
+ "gpuAvailability": [
+ {
+ "displayName": "RTX 4090",
+ "gpuId": "NVIDIA GeForce RTX 4090",
+ "stockStatus": "High"
+ }
+ ],
+ "id": "US-GA-1",
+ "location": "United States",
+ "name": "US-GA-1"
+ },
+ {
+ "gpuAvailability": [
+ {
+ "displayName": "A100 PCIe",
+ "gpuId": "NVIDIA A100 80GB PCIe",
+ "stockStatus": "High"
+ }
+ ],
+ "id": "EU-RO-1",
+ "location": "Europe",
+ "name": "EU-RO-1"
+ }
+]
```
## Using datacenter IDs
@@ -54,3 +76,4 @@ runpodctl pod create --template-id runpod-torch-v21 --gpu-id "NVIDIA RTX 4090" -
- [`runpodctl network-volume create`](/runpodctl/reference/runpodctl-network-volume)
- [`runpodctl pod create`](/runpodctl/reference/runpodctl-pod)
+- [`runpodctl gpu list`](/runpodctl/reference/runpodctl-gpu)
diff --git a/runpodctl/reference/runpodctl-get-cloud.mdx b/runpodctl/reference/runpodctl-get-cloud.mdx
deleted file mode 100644
index e69de29b..00000000
diff --git a/runpodctl/reference/runpodctl-get-pod.mdx b/runpodctl/reference/runpodctl-get-pod.mdx
deleted file mode 100644
index e69de29b..00000000
diff --git a/runpodctl/reference/runpodctl-gpu.mdx b/runpodctl/reference/runpodctl-gpu.mdx
index 38b26d51..584fcae9 100644
--- a/runpodctl/reference/runpodctl-gpu.mdx
+++ b/runpodctl/reference/runpodctl-gpu.mdx
@@ -29,18 +29,33 @@ runpodctl gpu list --include-unavailable
#### List flags
-| Flag | Type | Description |
-|------|------|-------------|
-| `--include-unavailable` | bool | Include GPUs that are currently unavailable |
+
+Include GPUs that are currently unavailable.
+
## Example output
-```
-GPU ID VRAM Available
-NVIDIA RTX 4090 24 GB Yes
-NVIDIA A100 80GB PCIe 80 GB Yes
-NVIDIA H100 PCIe 80 GB Yes
-NVIDIA L40S 48 GB Yes
+```json
+[
+ {
+ "available": true,
+ "communityCloud": true,
+ "displayName": "RTX 4090",
+ "gpuId": "NVIDIA GeForce RTX 4090",
+ "memoryInGb": 24,
+ "secureCloud": true,
+ "stockStatus": "High"
+ },
+ {
+ "available": true,
+ "communityCloud": true,
+ "displayName": "A100 PCIe",
+ "gpuId": "NVIDIA A100 80GB PCIe",
+ "memoryInGb": 80,
+ "secureCloud": true,
+ "stockStatus": "High"
+ }
+]
```
## Using GPU IDs
diff --git a/runpodctl/reference/runpodctl-model.mdx b/runpodctl/reference/runpodctl-model.mdx
index fd6b73e3..c06432dc 100644
--- a/runpodctl/reference/runpodctl-model.mdx
+++ b/runpodctl/reference/runpodctl-model.mdx
@@ -33,11 +33,17 @@ runpodctl model list --provider "meta"
#### List flags
-| Flag | Type | Description |
-|------|------|-------------|
-| `--all` | bool | List all available models |
-| `--name` | string | Filter by model name |
-| `--provider` | string | Filter by model provider |
+
+List all available models, not just your own.
+
+
+
+Filter by model name.
+
+
+
+Filter by model provider.
+
### Add a model
@@ -49,10 +55,53 @@ runpodctl model add --name "my-model" --model-path ./model
#### Add flags
-| Flag | Type | Description |
-|------|------|-------------|
-| `--name` | string | Model name (required) |
-| `--model-path` | string | Path to the model files (required) |
+
+Model name.
+
+
+
+Directory containing model files to upload.
+
+
+
+Create an upload session.
+
+
+
+File name for upload.
+
+
+
+File size in bytes.
+
+
+
+Upload content type.
+
+
+
+Multipart upload part size in bytes.
+
+
+
+Metadata key=value pairs.
+
+
+
+Initial model status.
+
+
+
+Initial model version status.
+
+
+
+Credential type (if required).
+
+
+
+Credential reference (if required).
+
### Remove a model
@@ -62,6 +111,16 @@ Remove a model from your account:
runpodctl model remove --name "my-model"
```
+#### Remove flags
+
+
+Model name.
+
+
+
+Model owner.
+
+
## Related commands
- [`runpodctl serverless`](/runpodctl/reference/runpodctl-serverless)
diff --git a/runpodctl/reference/runpodctl-network-volume.mdx b/runpodctl/reference/runpodctl-network-volume.mdx
index 19cacf55..06f9653a 100644
--- a/runpodctl/reference/runpodctl-network-volume.mdx
+++ b/runpodctl/reference/runpodctl-network-volume.mdx
@@ -47,11 +47,17 @@ runpodctl network-volume create --name "my-volume" --size 100 --data-center-id "
#### Create flags
-| Flag | Type | Description |
-|------|------|-------------|
-| `--name` | string | Volume name (required) |
-| `--size` | int | Volume size in GB (required) |
-| `--data-center-id` | string | Datacenter ID where the volume will be created (required) |
+
+Volume name.
+
+
+
+Volume size in GB (1-4000).
+
+
+
+Datacenter ID where the volume will be created. Use [`runpodctl datacenter list`](/runpodctl/reference/runpodctl-datacenter) to see available datacenters.
+
### Update a network volume
@@ -61,6 +67,16 @@ Update network volume configuration:
runpodctl network-volume update --name "new-name"
```
+#### Update flags
+
+
+New volume name.
+
+
+
+New volume size in GB. Must be larger than the current size.
+
+
### Delete a network volume
Delete a network volume:
diff --git a/runpodctl/reference/runpodctl-pod.mdx b/runpodctl/reference/runpodctl-pod.mdx
index 57896465..2b396a3f 100644
--- a/runpodctl/reference/runpodctl-pod.mdx
+++ b/runpodctl/reference/runpodctl-pod.mdx
@@ -29,6 +29,16 @@ Get detailed information about a specific Pod, including SSH connection info:
runpodctl pod get
```
+#### Get flags
+
+
+Include machine information in the output.
+
+
+
+Include network volume information in the output.
+
+
### Create a Pod
Create a new Pod from a template:
@@ -51,24 +61,69 @@ runpodctl pod create --compute-type cpu --image ubuntu:22.04
#### Create flags
-| Flag | Type | Description |
-|------|------|-------------|
-| `--template-id` | string | Template ID to use for Pod configuration |
-| `--image` | string | Docker image to use (e.g., `runpod/pytorch:latest`) |
-| `--name` | string | Custom name for the Pod |
-| `--gpu-id` | string | GPU type (e.g., `NVIDIA RTX 4090`, `NVIDIA A100 80GB PCIe`) |
-| `--gpu-count` | int | Number of GPUs to allocate |
-| `--compute-type` | string | Compute type (`gpu` or `cpu`) |
-| `--container-disk-in-gb` | int | Container disk size in GB |
-| `--volume-in-gb` | int | Persistent volume size in GB |
-| `--volume-mount-path` | string | Mount path for the persistent volume |
-| `--network-volume-id` | string | ID of a network volume to attach |
-| `--ports` | string | Ports to expose (e.g., `8888/http`) |
-| `--env` | string | Environment variables (can be specified multiple times) |
-| `--cloud-type` | string | Cloud tier (`SECURE` or `COMMUNITY`) |
-| `--data-center-ids` | string | Preferred datacenter IDs |
-| `--global-networking` | bool | Enable global networking |
-| `--public-ip` | bool | Enable public IP |
+
+Template ID to use for Pod configuration. Use [`runpodctl template search`](/runpodctl/reference/runpodctl-template) to find templates.
+
+
+
+Docker image to use (e.g., `runpod/pytorch:latest`). Required if no template specified.
+
+
+
+Custom name for the Pod.
+
+
+
+GPU type (e.g., `NVIDIA RTX 4090`, `NVIDIA A100 80GB PCIe`). Use [`runpodctl gpu list`](/runpodctl/reference/runpodctl-gpu) to see available GPUs.
+
+
+
+Number of GPUs to allocate.
+
+
+
+Compute type (`GPU` or `CPU`).
+
+
+
+Container disk size in GB.
+
+
+
+Persistent volume size in GB.
+
+
+
+Mount path for the persistent volume.
+
+
+
+Comma-separated list of ports to expose (e.g., `8888/http,22/tcp`).
+
+
+
+Environment variables as a JSON object (e.g., `'{"KEY":"value"}'`).
+
+
+
+Cloud tier (`SECURE` or `COMMUNITY`).
+
+
+
+Comma-separated list of preferred datacenter IDs. Use [`runpodctl datacenter list`](/runpodctl/reference/runpodctl-datacenter) to see available datacenters.
+
+
+
+Enable global networking (Secure Cloud only).
+
+
+
+Require public IP (Community Cloud only).
+
+
+
+Enable SSH on the Pod.
+
### Start a Pod
@@ -110,6 +165,36 @@ Update Pod configuration:
runpodctl pod update --name "new-name"
```
+#### Update flags
+
+
+New name for the Pod.
+
+
+
+New Docker image name.
+
+
+
+New container disk size in GB.
+
+
+
+New volume size in GB.
+
+
+
+New volume mount path.
+
+
+
+New comma-separated list of ports.
+
+
+
+New environment variables as a JSON object.
+
+
### Delete a Pod
Delete a Pod:
diff --git a/runpodctl/reference/runpodctl-receive.mdx b/runpodctl/reference/runpodctl-receive.mdx
index 4823e901..3a00ba63 100644
--- a/runpodctl/reference/runpodctl-receive.mdx
+++ b/runpodctl/reference/runpodctl-receive.mdx
@@ -6,26 +6,25 @@ sidebarTitle: "receive"
Receive files or folders sent from another machine using a secure peer-to-peer connection established with a connection code.
-```sh Command
-runpodctl receive [flags]
+```bash Command
+runpodctl receive
```
## Example
-Receive files using a connection code.
+Receive files using a connection code:
-```sh
+```bash
runpodctl receive rainbow-unicorn-42
```
## Arguments
-
-The connection code phrase that matches the code used by the sender with the `send` command. If not provided, you'll be prompted to enter it.
+
+The connection code phrase that matches the code used by the sender with the [`send`](/runpodctl/reference/runpodctl-send) command.
## Related commands
- [`runpodctl send`](/runpodctl/reference/runpodctl-send)
-- [`runpodctl`](/runpodctl/reference/runpodctl)
diff --git a/runpodctl/reference/runpodctl-registry.mdx b/runpodctl/reference/runpodctl-registry.mdx
index cdfadb3a..44145537 100644
--- a/runpodctl/reference/runpodctl-registry.mdx
+++ b/runpodctl/reference/runpodctl-registry.mdx
@@ -47,11 +47,17 @@ runpodctl registry create --name "docker-hub" --username "myuser" --password "my
#### Create flags
-| Flag | Type | Description |
-|------|------|-------------|
-| `--name` | string | Name for this registry authentication (required) |
-| `--username` | string | Registry username (required) |
-| `--password` | string | Registry password or access token (required) |
+
+Name for this registry authentication.
+
+
+
+Registry username.
+
+
+
+Registry password or access token.
+
### Delete a registry authentication
diff --git a/runpodctl/reference/runpodctl-remove-pod.mdx b/runpodctl/reference/runpodctl-remove-pod.mdx
deleted file mode 100644
index e69de29b..00000000
diff --git a/runpodctl/reference/runpodctl-remove-pods.mdx b/runpodctl/reference/runpodctl-remove-pods.mdx
deleted file mode 100644
index e69de29b..00000000
diff --git a/runpodctl/reference/runpodctl-send.mdx b/runpodctl/reference/runpodctl-send.mdx
index 061f28b9..141f1714 100644
--- a/runpodctl/reference/runpodctl-send.mdx
+++ b/runpodctl/reference/runpodctl-send.mdx
@@ -6,7 +6,7 @@ sidebarTitle: "send"
Transfer files or folders from your local machine to a Pod or another computer using a secure peer-to-peer connection.
-```sh Command
+```bash Command
runpodctl send [flags]
```
@@ -15,7 +15,7 @@ runpodctl send [flags]
Send a folder to a Pod using a connection code:
-```sh
+```bash
runpodctl send ./my-dataset --code rainbow-unicorn-42
```
@@ -28,10 +28,9 @@ The path to the file or folder you want to send. Can be a single file or an enti
## Flags
-A custom code phrase used to establish the secure connection between sender and receiver. The receiver must use the same code with the `receive` command.
+A custom code phrase used to establish the secure connection between sender and receiver. The receiver must use the same code with the [`receive`](/runpodctl/reference/runpodctl-receive) command.
## Related commands
- [`runpodctl receive`](/runpodctl/reference/runpodctl-receive)
-- [`runpodctl`](/runpodctl/reference/runpodctl)
diff --git a/runpodctl/reference/runpodctl-serverless.mdx b/runpodctl/reference/runpodctl-serverless.mdx
index 5a8880ab..5d4c1a18 100644
--- a/runpodctl/reference/runpodctl-serverless.mdx
+++ b/runpodctl/reference/runpodctl-serverless.mdx
@@ -37,6 +37,16 @@ Get detailed information about a specific endpoint:
runpodctl serverless get
```
+#### Get flags
+
+
+Include template information in the output.
+
+
+
+Include workers information in the output.
+
+
### Create an endpoint
Create a new Serverless endpoint:
@@ -47,17 +57,37 @@ runpodctl serverless create --name "my-endpoint" --template-id "tpl_abc123"
#### Create flags
-| Flag | Type | Description |
-|------|------|-------------|
-| `--name` | string | Name for the endpoint |
-| `--template-id` | string | Template ID to use (required) |
-| `--gpu-id` | string | GPU type for workers |
-| `--gpu-count` | int | Number of GPUs per worker |
-| `--compute-type` | string | Compute type (`gpu` or `cpu`) |
-| `--workers-min` | int | Minimum number of workers |
-| `--workers-max` | int | Maximum number of workers |
-| `--network-volume-id` | string | ID of a network volume to attach |
-| `--data-center-ids` | string | Preferred datacenter IDs |
+
+Name for the endpoint.
+
+
+
+Template ID to use. Use [`runpodctl template search`](/runpodctl/reference/runpodctl-template) to find templates.
+
+
+
+GPU type for workers. Use [`runpodctl gpu list`](/runpodctl/reference/runpodctl-gpu) to see available GPUs.
+
+
+
+Number of GPUs per worker.
+
+
+
+Compute type (`GPU` or `CPU`).
+
+
+
+Minimum number of workers.
+
+
+
+Maximum number of workers.
+
+
+
+Comma-separated list of preferred datacenter IDs. Use [`runpodctl datacenter list`](/runpodctl/reference/runpodctl-datacenter) to see available datacenters.
+
### Update an endpoint
@@ -67,6 +97,32 @@ Update endpoint configuration:
runpodctl serverless update --workers-max 5
```
+#### Update flags
+
+
+New name for the endpoint.
+
+
+
+New minimum number of workers.
+
+
+
+New maximum number of workers.
+
+
+
+New idle timeout in seconds.
+
+
+
+Scaler type (`QUEUE_DELAY` or `REQUEST_COUNT`).
+
+
+
+Scaler value.
+
+
### Delete an endpoint
Delete an endpoint:
diff --git a/runpodctl/reference/runpodctl-ssh-add-key.mdx b/runpodctl/reference/runpodctl-ssh-add-key.mdx
deleted file mode 100644
index e69de29b..00000000
diff --git a/runpodctl/reference/runpodctl-ssh-list-keys.mdx b/runpodctl/reference/runpodctl-ssh-list-keys.mdx
deleted file mode 100644
index e69de29b..00000000
diff --git a/runpodctl/reference/runpodctl-ssh.mdx b/runpodctl/reference/runpodctl-ssh.mdx
index 86687660..c2800118 100644
--- a/runpodctl/reference/runpodctl-ssh.mdx
+++ b/runpodctl/reference/runpodctl-ssh.mdx
@@ -21,6 +21,12 @@ Get SSH connection details for a Pod. This returns the SSH command and key infor
runpodctl ssh info
```
+#### Info flags
+
+
+Include Pod ID and name in output. Shorthand: `-v`.
+
+
The `ssh info` command returns connection details that you can use to connect via SSH manually. It does not start an interactive SSH session.
@@ -45,10 +51,22 @@ runpodctl ssh list-keys
Add a new SSH key to your account:
```bash
-runpodctl ssh add-key
+# Add a key from a file
+runpodctl ssh add-key --key-file ~/.ssh/id_ed25519.pub
+
+# Add a key directly
+runpodctl ssh add-key --key "ssh-ed25519 AAAA..."
```
-This command will prompt you to enter or generate an SSH key.
+#### Add-key flags
+
+
+The public key string to add.
+
+
+
+Path to a file containing the public key.
+
## Related commands
diff --git a/runpodctl/reference/runpodctl-start-pod.mdx b/runpodctl/reference/runpodctl-start-pod.mdx
deleted file mode 100644
index e69de29b..00000000
diff --git a/runpodctl/reference/runpodctl-stop-pod.mdx b/runpodctl/reference/runpodctl-stop-pod.mdx
deleted file mode 100644
index e69de29b..00000000
diff --git a/runpodctl/reference/runpodctl-template.mdx b/runpodctl/reference/runpodctl-template.mdx
index 72fdbe21..62c63819 100644
--- a/runpodctl/reference/runpodctl-template.mdx
+++ b/runpodctl/reference/runpodctl-template.mdx
@@ -47,12 +47,21 @@ runpodctl template list --limit 50
#### List flags
-| Flag | Type | Description |
-|------|------|-------------|
-| `--type` | string | Filter by template type (`official`, `community`, `user`) |
-| `--limit` | int | Maximum number of results to return |
-| `--offset` | int | Number of results to skip |
-| `--all` | bool | Include all templates including user templates |
+
+Filter by template type (`official`, `community`, `user`).
+
+
+
+Maximum number of results to return.
+
+
+
+Number of results to skip for pagination.
+
+
+
+Include all templates including user templates.
+
### Search templates
@@ -69,6 +78,20 @@ runpodctl template search comfyui --limit 5
runpodctl template search vllm --type official
```
+#### Search flags
+
+
+Filter by template type (`official`, `community`, `user`).
+
+
+
+Maximum number of results to return.
+
+
+
+Number of results to skip for pagination.
+
+
### Get template details
Get detailed information about a specific template, including README, environment variables, and exposed ports:
@@ -91,19 +114,49 @@ runpodctl template create --name "my-serverless-template" --image "my-image:late
#### Create flags
-| Flag | Type | Description |
-|------|------|-------------|
-| `--name` | string | Template name (required) |
-| `--image` | string | Docker image (required) |
-| `--container-disk-in-gb` | int | Container disk size in GB |
-| `--volume-in-gb` | int | Persistent volume size in GB |
-| `--volume-mount-path` | string | Volume mount path |
-| `--ports` | string | Ports to expose |
-| `--env` | string | Environment variables (can be specified multiple times) |
-| `--docker-start-cmd` | string | Docker start command |
-| `--docker-entrypoint` | string | Docker entrypoint |
-| `--serverless` | bool | Create as a Serverless template |
-| `--readme` | string | Template README content |
+
+Template name.
+
+
+
+Docker image (e.g., `runpod/pytorch:latest`).
+
+
+
+Container disk size in GB.
+
+
+
+Persistent volume size in GB.
+
+
+
+Volume mount path.
+
+
+
+Comma-separated list of ports to expose (e.g., `8888/http,22/tcp`).
+
+
+
+Environment variables as a JSON object (e.g., `'{"KEY":"value"}'`).
+
+
+
+Comma-separated Docker start commands.
+
+
+
+Comma-separated Docker entrypoint commands.
+
+
+
+Create as a Serverless template.
+
+
+
+Template README content.
+
### Update a template
@@ -113,6 +166,28 @@ Update an existing template:
runpodctl template update --name "new-name"
```
+#### Update flags
+
+
+New template name.
+
+
+
+New Docker image name.
+
+
+
+New comma-separated list of ports.
+
+
+
+New environment variables as a JSON object.
+
+
+
+New README content.
+
+
### Delete a template
Delete a template:
diff --git a/runpodctl/reference/runpodctl-update.mdx b/runpodctl/reference/runpodctl-update.mdx
index be01ebbb..9517bca0 100644
--- a/runpodctl/reference/runpodctl-update.mdx
+++ b/runpodctl/reference/runpodctl-update.mdx
@@ -6,11 +6,15 @@ sidebarTitle: "update"
Update `runpodctl` to the latest version to access new features and bug fixes.
-```sh Command
+```bash Command
runpodctl update
```
+## Description
+
+The `update` command downloads and installs the latest version of `runpodctl`. After updating, verify the installation with [`runpodctl version`](/runpodctl/reference/runpodctl-version).
+
## Related commands
- [`runpodctl version`](/runpodctl/reference/runpodctl-version)
diff --git a/runpodctl/reference/runpodctl-user.mdx b/runpodctl/reference/runpodctl-user.mdx
index fe2ab4ee..cba022ae 100644
--- a/runpodctl/reference/runpodctl-user.mdx
+++ b/runpodctl/reference/runpodctl-user.mdx
@@ -25,14 +25,26 @@ The `user` command displays information about your Runpod account, including:
- Account email
- Current credit balance
-- Account status
-
-## Example
-
-```bash
-runpodctl user
+- Current spend per hour
+- Spend limit
+- Notification settings
+
+## Example output
+
+```json
+{
+ "clientBalance": 435.85,
+ "currentSpendPerHr": 0.001,
+ "email": "user@example.com",
+ "id": "user_abc123",
+ "notifyLowBalance": true,
+ "notifyPodsGeneral": true,
+ "notifyPodsStale": true,
+ "spendLimit": 180
+}
```
## Related commands
- [`runpodctl billing`](/runpodctl/reference/runpodctl-billing)
+- [`runpodctl config`](/runpodctl/reference/runpodctl-config)
diff --git a/runpodctl/reference/runpodctl-version.mdx b/runpodctl/reference/runpodctl-version.mdx
index 4d7cf40e..85ca4b10 100644
--- a/runpodctl/reference/runpodctl-version.mdx
+++ b/runpodctl/reference/runpodctl-version.mdx
@@ -6,11 +6,17 @@ sidebarTitle: "version"
Display the current version of `runpodctl` installed on your system.
-```sh Command
+```bash Command
runpodctl version
```
+## Example output
+
+```
+runpodctl 2.1.6-400ac40
+```
+
## Related commands
- [`runpodctl update`](/runpodctl/reference/runpodctl-update)
diff --git a/runpodctl/transfer-files.mdx b/runpodctl/transfer-files.mdx
deleted file mode 100644
index e69de29b..00000000
From dd796787e267473d29b8024dd3c7b76719f17ddd Mon Sep 17 00:00:00 2001
From: Mo King
Date: Fri, 20 Mar 2026 19:11:08 -0400
Subject: [PATCH 03/14] Remove requestexample component from longer CLI pages
---
runpodctl/reference/runpodctl-pod.mdx | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/runpodctl/reference/runpodctl-pod.mdx b/runpodctl/reference/runpodctl-pod.mdx
index 2b396a3f..8f3fde75 100644
--- a/runpodctl/reference/runpodctl-pod.mdx
+++ b/runpodctl/reference/runpodctl-pod.mdx
@@ -5,11 +5,9 @@ sidebarTitle: "pod"
Manage Pods, including creating, listing, starting, stopping, and deleting Pods.
-
-```bash Command
+```bash
runpodctl pod [flags]
```
-
## Subcommands
From 2a23280ea986156c4422f42f885f30008097d0b9 Mon Sep 17 00:00:00 2001
From: Mo King
Date: Fri, 20 Mar 2026 19:11:11 -0400
Subject: [PATCH 04/14] update
---
runpodctl/reference/runpodctl-serverless.mdx | 4 +---
runpodctl/reference/runpodctl-template.mdx | 4 +---
2 files changed, 2 insertions(+), 6 deletions(-)
diff --git a/runpodctl/reference/runpodctl-serverless.mdx b/runpodctl/reference/runpodctl-serverless.mdx
index 5d4c1a18..10b853d3 100644
--- a/runpodctl/reference/runpodctl-serverless.mdx
+++ b/runpodctl/reference/runpodctl-serverless.mdx
@@ -5,11 +5,9 @@ sidebarTitle: "serverless"
Manage Serverless endpoints, including creating, listing, updating, and deleting endpoints.
-
-```bash Command
+```bash
runpodctl serverless [flags]
```
-
## Alias
diff --git a/runpodctl/reference/runpodctl-template.mdx b/runpodctl/reference/runpodctl-template.mdx
index 62c63819..69edec13 100644
--- a/runpodctl/reference/runpodctl-template.mdx
+++ b/runpodctl/reference/runpodctl-template.mdx
@@ -5,11 +5,9 @@ sidebarTitle: "template"
List, search, and manage templates for Pods and Serverless endpoints.
-
-```bash Command
+```bash
runpodctl template [flags]
```
-
## Alias
From 6a6d2c15f08e641433db03c1572ca92649439b8f Mon Sep 17 00:00:00 2001
From: Mo King
Date: Fri, 20 Mar 2026 19:15:46 -0400
Subject: [PATCH 05/14] remove model
---
docs.json | 1 -
runpodctl/overview.mdx | 1 -
runpodctl/reference/runpodctl-model.mdx | 126 ------------------------
3 files changed, 128 deletions(-)
delete mode 100644 runpodctl/reference/runpodctl-model.mdx
diff --git a/docs.json b/docs.json
index bd2725ea..38cd2b06 100644
--- a/docs.json
+++ b/docs.json
@@ -415,7 +415,6 @@
"runpodctl/reference/runpodctl-serverless",
"runpodctl/reference/runpodctl-template",
"runpodctl/reference/runpodctl-network-volume",
- "runpodctl/reference/runpodctl-model",
"runpodctl/reference/runpodctl-registry",
"runpodctl/reference/runpodctl-gpu",
"runpodctl/reference/runpodctl-datacenter",
diff --git a/runpodctl/overview.mdx b/runpodctl/overview.mdx
index 4ee219c0..99aa349d 100644
--- a/runpodctl/overview.mdx
+++ b/runpodctl/overview.mdx
@@ -122,7 +122,6 @@ Runpod CLI organizes commands into groups based on the resource type:
| `runpodctl serverless` | `sls` | Manage Serverless endpoints |
| `runpodctl template` | `tpl` | List, search, and manage templates |
| `runpodctl network-volume` | `nv` | Manage network volumes |
-| `runpodctl model` | | List and manage models |
| `runpodctl registry` | `reg` | Manage container registry authentications |
| `runpodctl gpu` | | List available GPUs |
| `runpodctl datacenter` | `dc` | List datacenters |
diff --git a/runpodctl/reference/runpodctl-model.mdx b/runpodctl/reference/runpodctl-model.mdx
deleted file mode 100644
index c06432dc..00000000
--- a/runpodctl/reference/runpodctl-model.mdx
+++ /dev/null
@@ -1,126 +0,0 @@
----
-title: "model"
-sidebarTitle: "model"
----
-
-List and manage models in your Runpod account.
-
-
-```bash Command
-runpodctl model [flags]
-```
-
-
-## Subcommands
-
-### List models
-
-List your models:
-
-```bash
-# List your models
-runpodctl model list
-
-# List all available models
-runpodctl model list --all
-
-# Filter by name
-runpodctl model list --name "llama"
-
-# Filter by provider
-runpodctl model list --provider "meta"
-```
-
-#### List flags
-
-
-List all available models, not just your own.
-
-
-
-Filter by model name.
-
-
-
-Filter by model provider.
-
-
-### Add a model
-
-Add a model to your account:
-
-```bash
-runpodctl model add --name "my-model" --model-path ./model
-```
-
-#### Add flags
-
-
-Model name.
-
-
-
-Directory containing model files to upload.
-
-
-
-Create an upload session.
-
-
-
-File name for upload.
-
-
-
-File size in bytes.
-
-
-
-Upload content type.
-
-
-
-Multipart upload part size in bytes.
-
-
-
-Metadata key=value pairs.
-
-
-
-Initial model status.
-
-
-
-Initial model version status.
-
-
-
-Credential type (if required).
-
-
-
-Credential reference (if required).
-
-
-### Remove a model
-
-Remove a model from your account:
-
-```bash
-runpodctl model remove --name "my-model"
-```
-
-#### Remove flags
-
-
-Model name.
-
-
-
-Model owner.
-
-
-## Related commands
-
-- [`runpodctl serverless`](/runpodctl/reference/runpodctl-serverless)
From 79e8158d2188b6ca7d9ee98a2637d9fbf7f4d63e Mon Sep 17 00:00:00 2001
From: "promptless[bot]" <179508745+promptless[bot]@users.noreply.github.com>
Date: Mon, 23 Mar 2026 14:35:44 +0000
Subject: [PATCH 06/14] Sync documentation updates
---
runpodctl/reference/runpodctl-pod.mdx | 59 +++++++++++++++++++++++----
1 file changed, 50 insertions(+), 9 deletions(-)
diff --git a/runpodctl/reference/runpodctl-pod.mdx b/runpodctl/reference/runpodctl-pod.mdx
index 8f3fde75..af061e27 100644
--- a/runpodctl/reference/runpodctl-pod.mdx
+++ b/runpodctl/reference/runpodctl-pod.mdx
@@ -13,30 +13,71 @@ runpodctl pod [flags]
### List Pods
-List all your Pods:
+List your Pods. By default, this command shows only running Pods (similar to `docker ps`):
```bash
runpodctl pod list
```
-### Get Pod details
+List all Pods including exited ones:
-Get detailed information about a specific Pod, including SSH connection info:
+```bash
+runpodctl pod list --all
+```
+
+Filter by status:
```bash
-runpodctl pod get
+runpodctl pod list --status exited
```
-#### Get flags
+Filter by creation time:
+
+```bash
+# Pods created in the last 24 hours
+runpodctl pod list --since 24h
-
-Include machine information in the output.
+# Pods created in the last 7 days
+runpodctl pod list --since 7d
+
+# Pods created after a specific date
+runpodctl pod list --created-after 2025-01-15
+```
+
+#### List flags
+
+
+Show all Pods including exited ones. By default, only running Pods are shown.
-
-Include network volume information in the output.
+
+Filter by Pod status (e.g., `RUNNING`, `EXITED`). Cannot be used with `--all`.
+
+Filter Pods created within the specified duration (e.g., `1h`, `24h`, `7d`). Cannot be used with `--created-after`.
+
+
+
+Filter Pods created after the specified date in `YYYY-MM-DD` format. Cannot be used with `--since`.
+
+
+
+Filter by compute type (`GPU` or `CPU`).
+
+
+
+Filter by Pod name.
+
+
+### Get Pod details
+
+Get detailed information about a specific Pod, including SSH connection info:
+
+```bash
+runpodctl pod get
+```
+
### Create a Pod
Create a new Pod from a template:
From cd5a6d54c963007ad12a7b11db6fb881bc33c1f6 Mon Sep 17 00:00:00 2001
From: "promptless[bot]" <179508745+promptless[bot]@users.noreply.github.com>
Date: Mon, 23 Mar 2026 14:43:35 +0000
Subject: [PATCH 07/14] Sync documentation updates
---
runpodctl/overview.mdx | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/runpodctl/overview.mdx b/runpodctl/overview.mdx
index 99aa349d..f8102451 100644
--- a/runpodctl/overview.mdx
+++ b/runpodctl/overview.mdx
@@ -49,10 +49,17 @@ wget --quiet --show-progress https://github.com/runpod/runpodctl/releases/latest
+
+**AMD64 (x86_64):**
```bash
wget --quiet --show-progress https://github.com/runpod/runpodctl/releases/latest/download/runpodctl-linux-amd64 -O runpodctl && chmod +x runpodctl && sudo cp runpodctl /usr/bin/runpodctl
```
+**ARM64 (aarch64):**
+```bash
+wget --quiet --show-progress https://github.com/runpod/runpodctl/releases/latest/download/runpodctl-linux-arm64 -O runpodctl && chmod +x runpodctl && sudo cp runpodctl /usr/bin/runpodctl
+```
+
From 3aa73dc07071df4eb0ed1048feda1e16b013a369 Mon Sep 17 00:00:00 2001
From: "promptless[bot]" <179508745+promptless[bot]@users.noreply.github.com>
Date: Mon, 23 Mar 2026 19:33:45 +0000
Subject: [PATCH 08/14] Sync documentation updates
---
runpodctl/reference/runpodctl-pod.mdx | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/runpodctl/reference/runpodctl-pod.mdx b/runpodctl/reference/runpodctl-pod.mdx
index af061e27..dbc62a39 100644
--- a/runpodctl/reference/runpodctl-pod.mdx
+++ b/runpodctl/reference/runpodctl-pod.mdx
@@ -83,13 +83,13 @@ runpodctl pod get
Create a new Pod from a template:
```bash
-runpodctl pod create --template-id runpod-torch-v21 --gpu-id "NVIDIA RTX 4090"
+runpodctl pod create --template-id runpod-torch-v21 --gpu-id "NVIDIA GeForce RTX 4090"
```
Create a Pod with a custom Docker image:
```bash
-runpodctl pod create --image "runpod/pytorch:2.1.0-py3.10-cuda11.8.0-devel-ubuntu22.04" --gpu-id "NVIDIA RTX 4090"
+runpodctl pod create --image "runpod/pytorch:2.1.0-py3.10-cuda11.8.0-devel-ubuntu22.04" --gpu-id "NVIDIA GeForce RTX 4090"
```
Create a CPU-only Pod:
@@ -113,7 +113,7 @@ Custom name for the Pod.
-GPU type (e.g., `NVIDIA RTX 4090`, `NVIDIA A100 80GB PCIe`). Use [`runpodctl gpu list`](/runpodctl/reference/runpodctl-gpu) to see available GPUs.
+GPU type (e.g., `NVIDIA GeForce RTX 4090`, `NVIDIA A100 80GB PCIe`). Use [`runpodctl gpu list`](/runpodctl/reference/runpodctl-gpu) to see available GPUs.
@@ -164,6 +164,10 @@ Require public IP (Community Cloud only).
Enable SSH on the Pod.
+
+Network volume ID to attach. Use [`runpodctl network-volume list`](/runpodctl/reference/runpodctl-network-volume) to see available network volumes.
+
+
### Start a Pod
Start a stopped Pod:
From 08fb45d90e58816374cf3d4e3051e6ef383d2b69 Mon Sep 17 00:00:00 2001
From: "promptless[bot]" <179508745+promptless[bot]@users.noreply.github.com>
Date: Tue, 24 Mar 2026 13:11:21 +0000
Subject: [PATCH 09/14] Sync documentation updates
---
runpodctl/overview.mdx | 61 ++++++++++++++++++--
runpodctl/reference/runpodctl-pod.mdx | 2 +-
runpodctl/reference/runpodctl-serverless.mdx | 14 +++++
3 files changed, 71 insertions(+), 6 deletions(-)
diff --git a/runpodctl/overview.mdx b/runpodctl/overview.mdx
index f8102451..a39348cb 100644
--- a/runpodctl/overview.mdx
+++ b/runpodctl/overview.mdx
@@ -29,6 +29,24 @@ Every you deploy comes preinstalled with `runpodctl` and a Pod-sc
Choose the installation method that matches your operating system.
+
+
+The install script automatically detects your operating system and architecture:
+
+```bash
+bash <(wget -qO- cli.runpod.io)
+```
+
+Or using curl:
+
+```bash
+bash <(curl -sL cli.runpod.io)
+```
+
+The script installs the latest version to `/usr/local/bin` when run as root, or to `~/.local/bin` for non-root users. If you don't have root access, the script displays instructions for adding `runpodctl` to your PATH.
+
+
+
**Homebrew:**
@@ -60,6 +78,20 @@ wget --quiet --show-progress https://github.com/runpod/runpodctl/releases/latest
wget --quiet --show-progress https://github.com/runpod/runpodctl/releases/latest/download/runpodctl-linux-arm64 -O runpodctl && chmod +x runpodctl && sudo cp runpodctl /usr/bin/runpodctl
```
+**Non-root installation:**
+
+If you don't have root access, install to your user directory:
+
+```bash
+mkdir -p ~/.local/bin && wget --quiet --show-progress https://github.com/runpod/runpodctl/releases/latest/download/runpodctl-linux-amd64 -O ~/.local/bin/runpodctl && chmod +x ~/.local/bin/runpodctl
+```
+
+Then add `~/.local/bin` to your PATH by adding this line to your `~/.bashrc` or `~/.zshrc`:
+
+```bash
+export PATH="$HOME/.local/bin:$PATH"
+```
+
@@ -78,6 +110,27 @@ wget https://github.com/runpod/runpodctl/releases/latest/download/runpodctl-wind
+
+
+Pre-built binaries are available on [conda-forge](https://anaconda.org/conda-forge/runpodctl) for Linux (x86_64, aarch64, ppc64le), macOS (x86_64, arm64), and Windows (x86_64).
+
+**conda:**
+```bash
+conda install conda-forge::runpodctl
+```
+
+**mamba:**
+```bash
+mamba install conda-forge::runpodctl
+```
+
+**pixi:**
+```bash
+pixi global install runpodctl
+```
+
+
+
This installs `runpodctl` globally on your system, so you can run commands from any directory.
@@ -154,11 +207,9 @@ runpodctl [command] --help
Enable tab completion for your shell to make working with `runpodctl` easier:
```bash
-# Bash
-runpodctl completion bash >> ~/.bashrc
-
-# Zsh
-runpodctl completion zsh >> ~/.zshrc
+runpodctl completion
```
+This command auto-detects your shell and adds the appropriate source command to your shell configuration file (`~/.bashrc` or `~/.zshrc`). The command is idempotent—running it again skips installation if completion is already configured.
+
Restart your shell or source the configuration file for changes to take effect.
diff --git a/runpodctl/reference/runpodctl-pod.mdx b/runpodctl/reference/runpodctl-pod.mdx
index dbc62a39..ca9428ca 100644
--- a/runpodctl/reference/runpodctl-pod.mdx
+++ b/runpodctl/reference/runpodctl-pod.mdx
@@ -89,7 +89,7 @@ runpodctl pod create --template-id runpod-torch-v21 --gpu-id "NVIDIA GeForce RTX
Create a Pod with a custom Docker image:
```bash
-runpodctl pod create --image "runpod/pytorch:2.1.0-py3.10-cuda11.8.0-devel-ubuntu22.04" --gpu-id "NVIDIA GeForce RTX 4090"
+runpodctl pod create --image "runpod/pytorch:1.0.3-cu1281-torch291-ubuntu2404" --gpu-id "NVIDIA GeForce RTX 4090"
```
Create a CPU-only Pod:
diff --git a/runpodctl/reference/runpodctl-serverless.mdx b/runpodctl/reference/runpodctl-serverless.mdx
index 10b853d3..cd8a3ead 100644
--- a/runpodctl/reference/runpodctl-serverless.mdx
+++ b/runpodctl/reference/runpodctl-serverless.mdx
@@ -27,6 +27,16 @@ List all your Serverless endpoints:
runpodctl serverless list
```
+#### List flags
+
+
+Include template information in the output.
+
+
+
+Include workers information in the output.
+
+
### Get endpoint details
Get detailed information about a specific endpoint:
@@ -87,6 +97,10 @@ Maximum number of workers.
Comma-separated list of preferred datacenter IDs. Use [`runpodctl datacenter list`](/runpodctl/reference/runpodctl-datacenter) to see available datacenters.
+
+Network volume ID to attach. Use [`runpodctl network-volume list`](/runpodctl/reference/runpodctl-network-volume) to see available network volumes.
+
+
### Update an endpoint
Update endpoint configuration:
From 4e6359edb379670e5ce1c45a6873f7994c6b4f37 Mon Sep 17 00:00:00 2001
From: "promptless[bot]" <179508745+promptless[bot]@users.noreply.github.com>
Date: Wed, 25 Mar 2026 15:24:50 +0000
Subject: [PATCH 10/14] Sync documentation updates
---
docs.json | 1 +
runpodctl/overview.mdx | 1 +
runpodctl/reference/runpodctl-hub.mdx | 142 +++++++++++++++++++
runpodctl/reference/runpodctl-serverless.mdx | 18 ++-
4 files changed, 159 insertions(+), 3 deletions(-)
create mode 100644 runpodctl/reference/runpodctl-hub.mdx
diff --git a/docs.json b/docs.json
index 4fd0dd87..fbfbc9bf 100644
--- a/docs.json
+++ b/docs.json
@@ -415,6 +415,7 @@
"runpodctl/reference/runpodctl-pod",
"runpodctl/reference/runpodctl-serverless",
"runpodctl/reference/runpodctl-template",
+ "runpodctl/reference/runpodctl-hub",
"runpodctl/reference/runpodctl-network-volume",
"runpodctl/reference/runpodctl-registry",
"runpodctl/reference/runpodctl-gpu",
diff --git a/runpodctl/overview.mdx b/runpodctl/overview.mdx
index a39348cb..8fa4d651 100644
--- a/runpodctl/overview.mdx
+++ b/runpodctl/overview.mdx
@@ -181,6 +181,7 @@ Runpod CLI organizes commands into groups based on the resource type:
| `runpodctl pod` | | Manage Pods (create, list, start, stop, delete) |
| `runpodctl serverless` | `sls` | Manage Serverless endpoints |
| `runpodctl template` | `tpl` | List, search, and manage templates |
+| `runpodctl hub` | | Browse and deploy from the Runpod Hub |
| `runpodctl network-volume` | `nv` | Manage network volumes |
| `runpodctl registry` | `reg` | Manage container registry authentications |
| `runpodctl gpu` | | List available GPUs |
diff --git a/runpodctl/reference/runpodctl-hub.mdx b/runpodctl/reference/runpodctl-hub.mdx
new file mode 100644
index 00000000..2def79e6
--- /dev/null
+++ b/runpodctl/reference/runpodctl-hub.mdx
@@ -0,0 +1,142 @@
+---
+title: "hub"
+sidebarTitle: "hub"
+---
+
+Browse and search the Runpod Hub marketplace to discover deployable repos. You can list popular repos, search by name, and get details for specific repos. Use Hub repo IDs with [`runpodctl serverless create --hub-id`](/runpodctl/reference/runpodctl-serverless) to deploy endpoints directly from the Hub.
+
+```bash
+runpodctl hub [flags]
+```
+
+## Subcommands
+
+### List repos
+
+List repos from the Hub marketplace. By default, shows the top 10 repos ordered by stars.
+
+```bash
+# List top repos by stars
+runpodctl hub list
+
+# List only Serverless repos
+runpodctl hub list --type SERVERLESS
+
+# List only Pod repos
+runpodctl hub list --type POD
+
+# Filter by category
+runpodctl hub list --category ai --limit 20
+
+# Order by deployment count
+runpodctl hub list --order-by deploys
+
+# Filter by repo owner
+runpodctl hub list --owner runpod
+```
+
+#### List flags
+
+
+Filter by deployment type (`POD` or `SERVERLESS`).
+
+
+
+Filter by category.
+
+
+
+Filter by repo owner.
+
+
+
+Sort results by field: `createdAt`, `deploys`, `releasedAt`, `stars`, `updatedAt`, or `views`.
+
+
+
+Sort direction: `asc` or `desc`.
+
+
+
+Maximum number of results to return.
+
+
+
+Number of results to skip for pagination.
+
+
+### Search repos
+
+Search for repos in the Hub by name:
+
+```bash
+# Search for vLLM repos
+runpodctl hub search vllm
+
+# Search Serverless repos only
+runpodctl hub search whisper --type SERVERLESS
+
+# Limit search results
+runpodctl hub search stable-diffusion --limit 5
+```
+
+#### Search flags
+
+
+Filter by deployment type (`POD` or `SERVERLESS`).
+
+
+
+Filter by category.
+
+
+
+Filter by repo owner.
+
+
+
+Sort results by field: `createdAt`, `deploys`, `releasedAt`, `stars`, `updatedAt`, or `views`.
+
+
+
+Sort direction: `asc` or `desc`.
+
+
+
+Maximum number of results to return.
+
+
+
+Number of results to skip for pagination.
+
+
+### Get repo details
+
+Get detailed information about a specific Hub repo by its ID or owner/name:
+
+```bash
+# Get by listing ID
+runpodctl hub get cm8h09d9n000008jvh2rqdsmb
+
+# Get by owner/name
+runpodctl hub get runpod-workers/worker-vllm
+```
+
+## Deploy from the Hub
+
+After finding a repo you want to deploy, use its listing ID with `serverless create`:
+
+```bash
+# Find a repo
+runpodctl hub search vllm
+
+# Deploy it
+runpodctl serverless create --hub-id cm8h09d9n000008jvh2rqdsmb --name "my-vllm"
+```
+
+GPU IDs and container disk size are automatically pulled from the Hub release config. You can override the GPU type with `--gpu-id`.
+
+## Related commands
+
+- [`runpodctl serverless create`](/runpodctl/reference/runpodctl-serverless)
+- [`runpodctl template search`](/runpodctl/reference/runpodctl-template)
diff --git a/runpodctl/reference/runpodctl-serverless.mdx b/runpodctl/reference/runpodctl-serverless.mdx
index cd8a3ead..6ba358ba 100644
--- a/runpodctl/reference/runpodctl-serverless.mdx
+++ b/runpodctl/reference/runpodctl-serverless.mdx
@@ -57,20 +57,31 @@ Include workers information in the output.
### Create an endpoint
-Create a new Serverless endpoint:
+Create a new Serverless endpoint from a template or from a Hub repo:
```bash
+# Create from a template
runpodctl serverless create --name "my-endpoint" --template-id "tpl_abc123"
+
+# Create from a Hub repo
+runpodctl hub search vllm # Find the hub ID
+runpodctl serverless create --hub-id cm8h09d9n000008jvh2rqdsmb --name "my-vllm"
```
+When using `--hub-id`, GPU IDs and container disk size are automatically pulled from the Hub release config. You can override the GPU type with `--gpu-id`.
+
#### Create flags
Name for the endpoint.
-
-Template ID to use. Use [`runpodctl template search`](/runpodctl/reference/runpodctl-template) to find templates.
+
+Template ID to use (required if `--hub-id` is not specified). Use [`runpodctl template search`](/runpodctl/reference/runpodctl-template) to find templates.
+
+
+
+Hub listing ID to deploy from (alternative to `--template-id`). Use [`runpodctl hub search`](/runpodctl/reference/runpodctl-hub) to find repos.
@@ -156,5 +167,6 @@ Access your Serverless endpoint using these URL patterns:
## Related commands
+- [`runpodctl hub`](/runpodctl/reference/runpodctl-hub)
- [`runpodctl template`](/runpodctl/reference/runpodctl-template)
- [`runpodctl gpu list`](/runpodctl/reference/runpodctl-gpu)
From 915b74da982609e4502d8f99a0337852c821e9ed Mon Sep 17 00:00:00 2001
From: Mo King
Date: Wed, 25 Mar 2026 13:08:44 -0400
Subject: [PATCH 11/14] docs: Update agent tests and docs for runpodctl v2
- Update CLI tests to use v2 noun-verb syntax (pod list, pod create, etc.)
- Add 10 new tests covering v2 commands (serverless, hub, templates, etc.)
- Update pods/manage-pods.mdx CLI examples to v2 syntax
- Update pods/connect-to-a-pod.mdx Pod creation example to v2 syntax
- Update test counts in .claude/commands/test.md
Co-Authored-By: Claude Opus 4.5
---
.claude/commands/test.md | 4 ++--
pods/connect-to-a-pod.mdx | 12 ++++++------
pods/manage-pods.mdx | 34 +++++++++++++++-------------------
tests/TESTS.md | 21 ++++++++++++++++-----
4 files changed, 39 insertions(+), 32 deletions(-)
diff --git a/.claude/commands/test.md b/.claude/commands/test.md
index 813fdb90..1a2572c6 100644
--- a/.claude/commands/test.md
+++ b/.claude/commands/test.md
@@ -23,7 +23,7 @@ Run a test from the testing framework to validate documentation quality.
| Category | Tests | Description |
|----------|-------|-------------|
-| `smoke` | 12 | Fast tests, no GPU deploys |
+| `smoke` | 13 | Fast tests, no GPU deploys |
| `flash` | 13 | Flash SDK tests |
| `serverless` | 20 | Serverless endpoint tests |
| `vllm` | 6 | vLLM deployment tests |
@@ -32,7 +32,7 @@ Run a test from the testing framework to validate documentation quality.
| `templates` | 6 | Template tests |
| `clusters` | 4 | Instant Cluster tests |
| `sdk` | 8 | SDK and API tests |
-| `cli` | 6 | runpodctl tests |
+| `cli` | 16 | runpodctl tests |
| `integrations` | 4 | Third-party integrations |
| `public` | 3 | Public endpoint tests |
| `tutorials` | 9 | End-to-end tutorials |
diff --git a/pods/connect-to-a-pod.mdx b/pods/connect-to-a-pod.mdx
index a537d7bd..203a1f46 100644
--- a/pods/connect-to-a-pod.mdx
+++ b/pods/connect-to-a-pod.mdx
@@ -50,14 +50,14 @@ Interactive web environment for code, files, and data analysis. Available on tem
Create a Pod with JupyterLab access using the CLI:
```bash
-runpodctl create pod \
+runpodctl pod create \
--name my-jupyter-pod \
- --gpuType "NVIDIA GeForce RTX 4090" \
- --imageName "runpod/pytorch:2.1.0-py3.10-cuda11.8.0-devel-ubuntu22.04" \
- --containerDiskSize 20 \
- --volumeSize 50 \
+ --gpu-id "NVIDIA GeForce RTX 4090" \
+ --image "runpod/pytorch:2.1.0-py3.10-cuda11.8.0-devel-ubuntu22.04" \
+ --container-disk-in-gb 20 \
+ --volume-in-gb 50 \
--ports "8888/http" \
- --env "JUPYTER_PASSWORD=your_secure_password"
+ --env '{"JUPYTER_PASSWORD":"your_secure_password"}'
```
After the Pod starts, access JupyterLab at `https://[POD_ID]-8888.proxy.runpod.net`.
diff --git a/pods/manage-pods.mdx b/pods/manage-pods.mdx
index 2172041a..e8939ed3 100644
--- a/pods/manage-pods.mdx
+++ b/pods/manage-pods.mdx
@@ -15,12 +15,12 @@ runpodctl config --apiKey RUNPOD_API_KEY
| Action | Web UI | CLI |
|--------|-----|-----|
-| **Deploy** | [Pods page](https://www.console.runpod.io/pods) → Deploy | `runpodctl create pods --name NAME --gpuType "GPU" --imageName "IMAGE"` |
-| **Start** | Expand Pod → Play icon | `runpodctl start pod POD_ID` |
-| **Stop** | Expand Pod → Stop icon | `runpodctl stop pod POD_ID` |
-| **Update** | Three-dot menu → Edit Pod | — |
-| **Terminate** | Expand Pod → Trash icon | `runpodctl remove pod POD_ID` |
-| **List** | [Pods page](https://www.console.runpod.io/pods) | `runpodctl get pod` |
+| **Deploy** | [Pods page](https://www.console.runpod.io/pods) → Deploy | `runpodctl pod create --name NAME --gpu-id "GPU" --image "IMAGE"` |
+| **Start** | Expand Pod → Play icon | `runpodctl pod start POD_ID` |
+| **Stop** | Expand Pod → Stop icon | `runpodctl pod stop POD_ID` |
+| **Update** | Three-dot menu → Edit Pod | `runpodctl pod update POD_ID` |
+| **Terminate** | Expand Pod → Trash icon | `runpodctl pod delete POD_ID` |
+| **List** | [Pods page](https://www.console.runpod.io/pods) | `runpodctl pod list` |
## Deploy a Pod
@@ -48,12 +48,12 @@ Deploy preconfigured Pods from the [Runpod Hub](/hub/overview#deploy-as-a-pod) f
```sh
-runpodctl create pods \
+runpodctl pod create \
--name hello-world \
- --gpuType "NVIDIA A40" \
- --imageName "runpod/pytorch:3.10-2.0.0-117" \
- --containerDiskSize 10 \
- --volumeSize 100
+ --gpu-id "NVIDIA A40" \
+ --image "runpod/pytorch:3.10-2.0.0-117" \
+ --container-disk-in-gb 10 \
+ --volume-in-gb 100
```
@@ -118,12 +118,12 @@ Pods with [network volumes](/storage/network-volumes) attached cannot be stopped
```sh
-runpodctl stop pod $RUNPOD_POD_ID
+runpodctl pod stop $RUNPOD_POD_ID
```
**Schedule a stop** (e.g., after 2 hours):
```sh
-sleep 2h; runpodctl stop pod $RUNPOD_POD_ID &
+sleep 2h; runpodctl pod stop $RUNPOD_POD_ID &
```
@@ -154,7 +154,7 @@ Resume a stopped Pod. Note: You may be allocated [zero GPUs](/references/trouble
```sh
-runpodctl start pod $RUNPOD_POD_ID
+runpodctl pod start $RUNPOD_POD_ID
```
@@ -224,11 +224,7 @@ Terminating permanently deletes all data not stored in a [network volume](/stora
```sh
-# Single Pod
-runpodctl remove pod $RUNPOD_POD_ID
-
-# Bulk remove by name
-runpodctl remove pods my-bulk-task --podCount 40
+runpodctl pod delete $RUNPOD_POD_ID
```
diff --git a/tests/TESTS.md b/tests/TESTS.md
index 9ce2ac75..3b206a17 100644
--- a/tests/TESTS.md
+++ b/tests/TESTS.md
@@ -65,8 +65,9 @@ Fast tests that don't require GPU deployments. Run these for quick validation.
| sdk-python-install | Install the Runpod Python SDK | `import runpod` succeeds |
| sdk-js-install | Install the Runpod JavaScript SDK | `require('runpod-sdk')` succeeds |
| cli-install | Install runpodctl on your local machine | `runpodctl version` returns version |
-| cli-configure | Configure runpodctl with your API key | `runpodctl config` shows configured key |
-| cli-list-pods | List pods using runpodctl | `runpodctl get pods` returns list |
+| cli-configure | Configure runpodctl with your API key | `runpodctl user` shows account info |
+| cli-list-pods | List pods using runpodctl | `runpodctl pod list` returns list |
+| cli-list-gpus | List available GPUs using runpodctl | `runpodctl gpu list` returns GPU types |
| template-list | List all templates | API returns template array |
| api-key-create | Create an API key with specific permissions | New API key ID returned |
| pods-add-ssh-key | Add an SSH key to your Runpod account | Key appears in account |
@@ -226,11 +227,21 @@ Run all smoke tests using local docs
| ID | Goal | Expected Outcome |
|----|------|------------------|
| cli-install | Install runpodctl on your local machine | `runpodctl version` returns version |
-| cli-configure | Configure runpodctl with your API key | `runpodctl config` shows key |
-| cli-list-pods | List pods using runpodctl | `runpodctl get pods` returns list |
-| cli-create-pod | Create a pod using runpodctl | Pod ID returned |
+| cli-doctor | Run first-time setup with runpodctl doctor | API key and SSH configured |
+| cli-configure | Configure runpodctl with your API key | `runpodctl user` shows account info |
+| cli-list-gpus | List available GPUs using runpodctl | `runpodctl gpu list` returns GPU types |
+| cli-list-pods | List pods using runpodctl | `runpodctl pod list` returns list |
+| cli-create-pod | Create a pod using runpodctl | `runpodctl pod create` returns Pod ID |
+| cli-start-stop-pod | Start and stop a pod using runpodctl | `runpodctl pod start/stop` succeeds |
+| cli-delete-pod | Delete a pod using runpodctl | `runpodctl pod delete` succeeds |
+| cli-list-serverless | List serverless endpoints using runpodctl | `runpodctl serverless list` returns list |
+| cli-create-serverless | Create a serverless endpoint using runpodctl | `runpodctl serverless create` returns endpoint ID |
+| cli-list-templates | Search templates using runpodctl | `runpodctl template search` returns templates |
+| cli-list-network-volumes | List network volumes using runpodctl | `runpodctl network-volume list` returns list |
+| cli-hub-search | Search the Runpod Hub using runpodctl | `runpodctl hub search` returns results |
| cli-send-file | Send a file to a Pod using runpodctl | File arrives on Pod |
| cli-receive-file | Receive a file from a Pod using runpodctl | File downloaded locally |
+| cli-billing | View billing history using runpodctl | `runpodctl billing` returns history |
---
From 91290df3619b371ce88f81f369e9e456924e1e6e Mon Sep 17 00:00:00 2001
From: Mo King
Date: Wed, 25 Mar 2026 14:09:31 -0400
Subject: [PATCH 12/14] docs: Clarify serverless vs pod template requirements
- Add note to serverless docs explaining template type requirements
- Add note to template docs about pod vs serverless template differences
- Update --serverless flag description with volume disk and binding constraints
- Use VolumeDiskTooltip for clarity (serverless doesn't support volume disks,
but does support network volumes)
Discovered during CLI test batch: serverless endpoints require
serverless-specific templates (not pod templates), and each
serverless template can only be bound to one endpoint.
Co-Authored-By: Claude Opus 4.5
---
runpodctl/reference/runpodctl-serverless.mdx | 10 ++++++++++
runpodctl/reference/runpodctl-template.mdx | 10 +++++++++-
2 files changed, 19 insertions(+), 1 deletion(-)
diff --git a/runpodctl/reference/runpodctl-serverless.mdx b/runpodctl/reference/runpodctl-serverless.mdx
index 6ba358ba..4dd22e0e 100644
--- a/runpodctl/reference/runpodctl-serverless.mdx
+++ b/runpodctl/reference/runpodctl-serverless.mdx
@@ -3,6 +3,8 @@ title: "serverless"
sidebarTitle: "serverless"
---
+import { VolumeDiskTooltip } from "/snippets/tooltips.jsx";
+
Manage Serverless endpoints, including creating, listing, updating, and deleting endpoints.
```bash
@@ -70,6 +72,14 @@ runpodctl serverless create --hub-id cm8h09d9n000008jvh2rqdsmb --name "my-vllm"
When using `--hub-id`, GPU IDs and container disk size are automatically pulled from the Hub release config. You can override the GPU type with `--gpu-id`.
+
+
+**Serverless templates vs Pod templates**: Serverless endpoints require a Serverless-specific template. Pod templates (like `runpod-torch-v21`) cannot be used because they include configuration, which Serverless does not support. When creating a template with [`runpodctl template create`](/runpodctl/reference/runpodctl-template), use the `--serverless` flag to create a Serverless template.
+
+Each Serverless template can only be bound to one endpoint at a time. To create multiple endpoints with the same configuration, create separate templates for each.
+
+
+
#### Create flags
diff --git a/runpodctl/reference/runpodctl-template.mdx b/runpodctl/reference/runpodctl-template.mdx
index 69edec13..4775130f 100644
--- a/runpodctl/reference/runpodctl-template.mdx
+++ b/runpodctl/reference/runpodctl-template.mdx
@@ -3,6 +3,8 @@ title: "template"
sidebarTitle: "template"
---
+import { VolumeDiskTooltip } from "/snippets/tooltips.jsx";
+
List, search, and manage templates for Pods and Serverless endpoints.
```bash
@@ -110,6 +112,12 @@ runpodctl template create --name "my-template" --image "runpod/pytorch:latest"
runpodctl template create --name "my-serverless-template" --image "my-image:latest" --serverless
```
+
+
+**Pod templates vs Serverless templates**: Templates are either for Pods or for Serverless endpoints, not both. Pod templates support storage and are used with `runpodctl pod create`. Serverless templates do not support volume disks and are used with `runpodctl serverless create`. Use the `--serverless` flag when creating templates for Serverless endpoints.
+
+
+
#### Create flags
@@ -149,7 +157,7 @@ Comma-separated Docker entrypoint commands.
-Create as a Serverless template.
+Create as a Serverless template. Serverless templates do not support volume disks (`--volume-in-gb` is not supported). Each Serverless template can only be bound to one endpoint at a time.
From 4792e171588fd3b141f6de294e4799cf2c992ccb Mon Sep 17 00:00:00 2001
From: Mo King
Date: Wed, 25 Mar 2026 14:23:54 -0400
Subject: [PATCH 13/14] docs: Update pods quickstart to use runpodctl v2
Replace REST API examples with runpodctl commands in Terminal tabs:
- Step 2: Use `runpodctl pod create` instead of curl POST
- Step 3: Use `runpodctl ssh info` instead of curl GET
- Step 4: Use `runpodctl pod stop/delete` instead of curl
Also mention `runpodctl doctor` for SSH key setup.
Co-Authored-By: Claude Opus 4.5
---
get-started.mdx | 49 ++++++++++++++++++-------------------------------
1 file changed, 18 insertions(+), 31 deletions(-)
diff --git a/get-started.mdx b/get-started.mdx
index b4549a2f..027fffea 100644
--- a/get-started.mdx
+++ b/get-started.mdx
@@ -38,25 +38,23 @@ If you haven't set up payments yet, you'll be prompted to add a payment method a
-First, [create an API key](/get-started/api-keys) if you haven't already. Export it as an environment variable:
+First, [install runpodctl](/runpodctl/overview) and configure it with your API key:
```bash
-export RUNPOD_API_KEY="your-api-key"
+# Install runpodctl
+bash <(wget -qO- cli.runpod.io)
+
+# Configure your API key
+runpodctl config --apiKey "your-api-key"
```
Then deploy your Pod:
```bash
-curl --request POST \
- --url https://rest.runpod.io/v1/pods \
- --header "Authorization: Bearer $RUNPOD_API_KEY" \
- --header "Content-Type: application/json" \
- --data '{
- "name": "quickstart-pod",
- "imageName": "runpod/pytorch:2.1.0-py3.10-cuda11.8.0-devel-ubuntu22.04",
- "gpuTypeIds": ["NVIDIA A40"],
- "gpuCount": 1
- }'
+runpodctl pod create \
+ --name "quickstart-pod" \
+ --gpu-id "NVIDIA A40" \
+ --image "runpod/pytorch:2.1.0-py3.10-cuda11.8.0-devel-ubuntu22.04"
```
The response includes your Pod ID:
@@ -96,31 +94,24 @@ Once your Pod finishes initializing, connect and run some code:
-You'll need an [SSH key added to your account](/pods/configuration/use-ssh) for this to work.
+You'll need an [SSH key added to your account](/pods/configuration/use-ssh) for this to work. You can run `runpodctl doctor` to set this up automatically.
-Get your Pod's SSH connection details:
+Get the SSH command for your Pod:
```bash
-curl --request GET \
- --url "https://rest.runpod.io/v1/pods/$RUNPOD_POD_ID" \
- --header "Authorization: Bearer $RUNPOD_API_KEY"
+runpodctl ssh info $RUNPOD_POD_ID
```
-The response includes `publicIp` and `portMappings`:
+The output includes the SSH command to connect:
```json
{
- "id": "uv9wy55tyv30lo",
- "publicIp": "194.68.245.207",
- "portMappings": {
- "22": 22100
- },
- ...
+ "sshCommand": "ssh root@194.68.245.207 -p 22100 -i ~/.ssh/id_ed25519"
}
```
-Use these values to connect via SSH:
+Use this command to connect and run code:
```bash
ssh root@194.68.245.207 -p 22100
@@ -165,17 +156,13 @@ To terminate your Pod:
Stop your Pod:
```bash
-curl --request POST \
- --url "https://rest.runpod.io/v1/pods/$RUNPOD_POD_ID/stop" \
- --header "Authorization: Bearer $RUNPOD_API_KEY"
+runpodctl pod stop $RUNPOD_POD_ID
```
You'll still be charged a small amount for storage on stopped Pods (\$0.20 per GB per month). If you don't need to retain any data on your Pod, terminate it completely:
```bash
-curl --request DELETE \
- --url "https://rest.runpod.io/v1/pods/$RUNPOD_POD_ID" \
- --header "Authorization: Bearer $RUNPOD_API_KEY"
+runpodctl pod delete $RUNPOD_POD_ID
```
From 32b8ed1ade38e9fffeee3fc4813f9c597c708667 Mon Sep 17 00:00:00 2001
From: Mo King
Date: Wed, 25 Mar 2026 14:43:33 -0400
Subject: [PATCH 14/14] Update quickstart instructions
---
get-started.mdx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/get-started.mdx b/get-started.mdx
index 027fffea..aa7e3789 100644
--- a/get-started.mdx
+++ b/get-started.mdx
@@ -38,7 +38,7 @@ If you haven't set up payments yet, you'll be prompted to add a payment method a
-First, [install runpodctl](/runpodctl/overview) and configure it with your API key:
+First, install the [Runpod CLI](/runpodctl/overview) on your local machine and configure it with your API key:
```bash
# Install runpodctl