Execute Commands
Run a command inside a pod via the API (no SSH key needed):-- separator is required to prevent flag parsing conflicts. Commands run as the instapod user, starting in that user’s home directory (/home/instapod).
Everything after -- is an argv vector, not a shell line: each argument is passed through verbatim, so shell syntax (pipes, redirects, &&, globs) needs an explicit shell.
instapods exec also exits with the command’s own exit status, so 127 (command not found) and 126 (not executable) stay distinguishable from an ordinary failure.
Flags
Flags go before
--:
instapods deploy, which runs it server-side without that ceiling.
Output is capped at 4 MB. Past that the middle is cut out - you get the first 1 MB and the last 3 MB around a marker line saying how many bytes were omitted. For bulky output, write it to a file in the pod and fetch it with instapods files download, or read just the part you need:
instapods exec is refused with too many concurrent commands for this pod rather than queued - run it again once the others finish.
Inspect the Runtime
Before writing code that depends on what is inside a pod, ask:sudo, so a missing package is one sudo apt-get install -y <pkg> away.
Add --json for the same report as structured data (versions, byte counts, and the request-size limits), which is the shape to parse from a script or an agent.
Examples
SSH Keys
List SSH Keys
List SSH keys on a specific pod:Add an SSH Key
Push your local SSH public key to a pod:id_ed25519.pub, id_rsa.pub, id_ecdsa.pub.
After adding a key, the CLI shows the SSH command you can use to connect:
Remove an SSH Key
Remove an account-level SSH key by ID:SSH Connection
Connect via SSH (requires CLI v1.18.0 or later):~/.ssh public key and
reconnects; -y adds it without asking. Run a single command with --, and the CLI exits with that
command’s status:
instapods pods get my-app (its SSH: line), or from instapods ssh my-app --print:
scp -P PORT or sftp -P PORT (capital -P). See SSH Access.
SSH Security
InstaPods uses Trust On First Use (TOFU) for SSH host key verification:- On first connection, the host key is automatically accepted and saved
- On subsequent connections, the key is verified against the saved copy
- If the key changes (which shouldn’t happen for a running pod), you’ll get a warning
When you delete a pod, the CLI automatically cleans up the old host key from your
~/.ssh/known_hosts file to prevent conflicts. Deleted pod SSH ports are reserved for 7 days before reuse.