Skip to content
63 changes: 52 additions & 11 deletions docs.json
Original file line number Diff line number Diff line change
Expand Up @@ -411,19 +411,20 @@
"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-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"
]
Expand Down Expand Up @@ -876,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"
Expand Down
Empty file removed runpodctl/manage-pods.mdx
Empty file.
157 changes: 132 additions & 25 deletions runpodctl/overview.mdx
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(Line 210)

Citation: Fixed shell completion documentation based on review feedback from Tim Pietrusky. runpodctl completion takes no arguments—it auto-detects the shell via $SHELL env var and appends the appropriate source command. This was also corrected in the SKILL file in PR #11.
View source

Original file line number Diff line number Diff line change
@@ -1,66 +1,136 @@
---
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 <PodsTooltip />, 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 <PodTooltip /> 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
```

To install Runpod CLI locally, follow these steps:
## Install Runpod CLI locally

Every <PodTooltip /> 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

Choose the installation method that matches your operating system.

<Tabs>
<Tab title="Install script">

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.

</Tab>

<Tab title="macOS">

**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
```

</Tab>

<Tab title="Linux">
```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

**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
```

**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"
```

</Tab>

<Tab title="Windows">
```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
```

</Tab>

<Tab title="Google Colab / Jupyter Notebook">
```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
```

</Tab>

<Tab title="conda / mamba / pixi">

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
```

</Tab>

</Tabs>

This installs `runpodctl` globally on your system, so you can run commands from any directory.
Expand All @@ -69,9 +139,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:

```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:

```sh
```bash
runpodctl config --apiKey YOUR_API_KEY
```

Expand All @@ -84,25 +162,54 @@ 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 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
```
```bash
runpodctl [command] --help
```

## Shell completion

Enable tab completion for your shell to make working with `runpodctl` easier:

```bash
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.
Loading
Loading