Command Palette
Search for a command to run

CLI Overview

Install, configure, and start using the Outpost CLI to manage repositories and infrastructure from your terminal.

The Outpost CLI (outpost) is a single command-line tool for managing repositories, machines, services, and jobs on the Outpost platform. It covers the full development lifecycle -- version control, GPU provisioning, model deployment, and job orchestration -- without leaving your terminal.

  • Repository Commands -- Clone, commit, branch, push, pull, and merge -- Git-style version control built for large files and ML workflows.
  • Compute Commands -- Create machines, deploy services, run jobs, and manage infrastructure with a single CLI.

Installation

macOS

Install via Homebrew or the install script:

brew install outpost

Or use the quick install script:

curl -fsSL https://outpost.run/install.sh | sh

Linux

curl -fsSL https://outpost.run/install.sh | sh

Authentication

  1. Create an account -- Sign up at outpost.run if you don't already have an account.

  2. Configure the CLI -- Set the remote URL and your credentials using the config command:

outpost config --set-remote https://outpost.run/your-user/your-repo

Your user-level configuration is stored at ~/.config/outpost/user_config.toml.

  1. Add an SSH key (optional) -- If you prefer SSH authentication, generate a key and add it to your account:
ssh-keygen -t ed25519 -C "[email protected]"

Then paste the public key at outpost.run/settings/ssh .

Access tokens
For CI/CD pipelines and non-interactive environments, generate a personal access token at [outpost.run/settings/tokens](https://outpost.run/settings/tokens) and set the `api_token` field in your user config file.

Configuration

The CLI reads configuration from these locations:

File Purpose
~/.config/outpost/user_config.toml User credentials (email, name, api_token) and global preferences
.outpost/config.toml (project root) Repository-level settings including remote URL
.outpostignore Files and patterns to exclude from version tracking (like .gitignore)

User config example

email = "[email protected]" name = "Your Name" api_token = "your-token-here"

Repository config example

[remote] url = "https://outpost.run/your-user/your-repo"

Environment variables

Variable Description
OUTPOST_TOKEN Personal access token for non-interactive authentication
OUTPOST_HOST Override the default API host (for enterprise deployments)

Quick start

# Clone a repository outpost clone https://outpost.run/jane/image-dataset # Make changes and commit cd image-dataset outpost add data/new_images/ outpost commit -m "Add January training images" outpost push # Create a GPU machine for development outpost dev launch --name dev-box --cloud aws --region us-east-1 --gpus A100 # Deploy a model as a service outpost serve launch --name inference-api --cloud aws --region us-east-1 --gpus A10G --port 8080

Command reference

Repository commands

Command Description
outpost init Initialize a new repository
outpost clone Clone a repository from a URL
outpost add Stage files for the next commit
outpost commit Record staged changes to history
outpost status Show working tree status
outpost checkout Switch or create branches
outpost branch List or manage branches
outpost fetch Fetch remote changes
outpost pull Fetch and merge remote changes
outpost push Upload commits to a remote branch
outpost merge Merge a branch into the current branch
outpost log View commit history
outpost diff Show file differences
outpost restore Restore files from a previous commit
outpost remote Manage remote repositories
outpost rm Remove files from tracking
outpost ls List repository contents
outpost df View and transform data frames

Compute commands

Command Description
outpost dev launch Launch a new machine
outpost dev list List all machines
outpost dev status Get machine status
outpost dev start Start a stopped machine
outpost dev stop Stop a running machine
outpost dev delete Delete a machine
outpost dev ssh SSH into a machine
outpost dev logs View machine logs
outpost dev exec Execute a command on a machine
outpost serve launch Deploy a service
outpost serve list List all services
outpost serve status Get service status
outpost serve scale Scale service replicas
outpost serve delete Delete a service
outpost jobs launch Run a batch job
outpost jobs list List all jobs
outpost jobs status Get job status
outpost jobs logs View job logs
outpost jobs cancel Cancel a running job
outpost jobs delete Delete a job

Getting help

Every command supports the --help flag:

outpost --help outpost clone --help outpost dev launch --help

For detailed documentation on each command group, see the Repository Commands and Compute Commands reference pages.

Next Repository Commands