Create a Runpod GPU pod, prepare it for Codex Desktop SSH remote connections, install useful development CLIs, clone a project into /workspace, and seed Codex Desktop state where the current app supports it.
The skill is centered on scripts/create_runpod_codex_remote.py. Use the natural-language prompts below through Codex, or run the helper directly when you want explicit flags.
- Creates a Runpod GPU pod for a requested GPU, such as RTX 3090, RTX 4090, H100, or another
runpodctl gpu listGPU ID. - Configures the pod with SSH, an exposed
22/tcpport, and a/workspacevolume. - Adds a concrete SSH alias to
~/.ssh/config, because Codex Desktop discovers SSH remotes from OpenSSH config. - Ensures Codex Desktop has
[features] remote_connections = truein~/.codex/config.toml. - Installs Node.js/npm, Codex CLI, Runpod CLI, Hugging Face CLI, GitHub CLI, AWS CLI.
- Clones the requested GitHub repository to
/workspace/<repo>. - Optionally copies local Codex auth, GitHub CLI auth, and Git identity to the pod when explicitly requested.
- Best-effort seeds Codex Desktop remote project state using discovered SSH host IDs like
remote-ssh-discovered:<ssh-alias>.
Remote connections are an alpha Codex Desktop feature. The supported discovery path is still SSH config plus Settings > Connections. Direct state seeding is a convenience and may need app refresh or restart.
runpodctlinstalled locally and authenticated.- A Runpod SSH key configured locally, usually
~/.runpod/ssh/RunPod-Key-Go. - Codex Desktop remote connections enabled:
[features]
remote_connections = true- Local
sshavailable on PATH. - For auth transfer flags, local
codex login statusand/orgh auth statusshould already work.
Create a fresh pod and clone a project:
python ~/.codex/skills/runpod-codex-remote/scripts/create_runpod_codex_remote.py \
--gpu-id "NVIDIA GeForce RTX 3090" \
--repo https://github.com/hlky/libgguf.git \
--name libgguf-3090 \
--volume-gb 20 \
--ports 22/tcpUse an existing pod without reinstalling tools:
python ~/.codex/skills/runpod-codex-remote/scripts/create_runpod_codex_remote.py \
--gpu-id "NVIDIA GeForce RTX 3090" \
--repo https://github.com/hlky/libgguf.git \
--name libgguf-3090 \
--pod-id POD_ID \
--skip-bootstrapPre-authenticate Codex and GitHub CLI on the remote:
python ~/.codex/skills/runpod-codex-remote/scripts/create_runpod_codex_remote.py \
--gpu-id "NVIDIA GeForce RTX 3090" \
--repo https://github.com/hlky/libgguf.git \
--name libgguf-3090 \
--copy-codex-auth \
--copy-gh-auth \
--copy-git-identityThe auth flags copy usable credentials to the pod. Use them only for trusted pods. --copy-git-identity copies local git config --global user.name and git config --global user.email; by default it sets the remote global Git identity.
Set repo-local Git identity instead:
python ~/.codex/skills/runpod-codex-remote/scripts/create_runpod_codex_remote.py \
--gpu-id "NVIDIA GeForce RTX 3090" \
--repo https://github.com/hlky/libgguf.git \
--name libgguf-3090 \
--pod-id POD_ID \
--skip-bootstrap \
--copy-git-identity \
--git-identity-scope repo[$runpod-codex-remote](skills\runpod-codex-remote\SKILL.md) Create a Runpod pod with an RTX 3090 and clone hlky/libgguf to it
[$runpod-codex-remote](skills\runpod-codex-remote\SKILL.md) Create a 4090 Runpod Codex remote named libgguf-4090, clone https://github.com/hlky/libgguf.git, and use a 50GB workspace volume
[$runpod-codex-remote](skills\runpod-codex-remote\SKILL.md) Create a Runpod H100 pod for hlky/dinoml, pre-authenticate Codex on the remote, and copy my current GitHub CLI auth
[$runpod-codex-remote](skills\runpod-codex-remote\SKILL.md) Use the existing Runpod pod r5qypko262ma4i, register it as libgguf-3090-fullflow in SSH config, seed the Codex remote project for /workspace/libgguf, and skip bootstrap
[$runpod-codex-remote](skills\runpod-codex-remote\SKILL.md) Fix the Runpod Codex remote skill based on the latest Codex SSH remote connections behavior, then test it on an existing pod
[$runpod-codex-remote](skills\runpod-codex-remote\SKILL.md) Stop the Runpod pod named libgguf-3090-fullflow after verifying the repo and Codex login still work
[$runpod-codex-remote](skills\runpod-codex-remote\SKILL.md) Create a Runpod pod from the official PyTorch 2.4 template with an RTX 4090, clone owner/repo, enable Codex remote connections, and add the SSH alias to ~/.ssh/config
After a run, verify the same SSH alias Codex Desktop will use:
ssh libgguf-3090 "bash -lc 'codex --version && codex login status && test -d /workspace/libgguf/.git'"Check GPU visibility:
ssh libgguf-3090 "nvidia-smi --query-gpu=name,memory.total --format=csv,noheader"Check GitHub CLI auth if copied:
ssh libgguf-3090 "gh auth status"Check Git identity if copied:
ssh libgguf-3090 "git config --global user.name && git config --global user.email"
ssh libgguf-3090 "git -C /workspace/libgguf config user.name && git -C /workspace/libgguf config user.email"Codex Desktop discovers concrete SSH aliases from ~/.ssh/config. The helper writes aliases like:
Host libgguf-3090
HostName 203.0.113.10
User root
Port 40036
IdentityFile ~/.runpod/ssh/RunPod-Key-Go
StrictHostKeyChecking accept-new
The current app uses discovered host IDs for remote projects:
remote-ssh-discovered:<ssh-alias>
If the host or project does not appear immediately, refresh or restart Codex Desktop. If the app prompts for Codex login on the remote, either complete the login flow or rerun with --copy-codex-auth for a trusted pod.
Stop a pod to end compute billing while preserving it:
runpodctl pod stop POD_IDDelete only when you are sure you no longer need it:
runpodctl pod delete POD_ID