Skip to content
pols.so docs
Esc
↑↓navigate↵open⌘Jpreview
On this page

Quickstart

Install the pols CLI, store an API key, create a sandbox, run a command in it and clean up.

This takes about five minutes. You need a Linux or macOS machine with curl and a pols.so account.

Create an account

Sign up at https://my.pols.so/signup with your email address. There is no password: pols sends you a login link, valid once for 15 minutes. New accounts are approved by hand; you get an email when yours is ready.

Create an API key

Once approved, open your account page and create an API key. Copy it right away: its secret is shown only once. See API keys for expiry and revocation.

Install the CLI

curl -fsSL https://pols.so/install.sh | sh

The script installs pols to ~/.local/bin (set POLS_INSTALL_DIR to choose another directory) and checks the download against its published checksums. If Claude Code is installed and you run the script in a terminal, it also offers to install the pols skill and register the MCP server; press Enter to accept.

Log in

pols login
# paste the API key and press Enter
pols org

pols login checks the key against the API and stores it in your user config directory, readable only by you. pols org shows your org, its quotas and what it uses. To avoid storing the key, export POLS_API_KEY instead; it takes precedence over a stored key.

Create a sandbox

pols new --name demo --size small

The command waits until the sandbox runs, which takes about ten seconds, and prints its ID (sbx_...). You can use the ID or the name demo everywhere.

Run commands

pols exec demo -- uname -a
pols exec demo -- bash -lc 'git clone https://github.com/octocat/Hello-World && ls Hello-World'
pols exec demo --root -- apt-get update

Output streams as it arrives and pols exits with the command’s exit code. Use bash -lc '...' for pipes, cd and &&. See Commands and files.

Copy files

pols cp ./notes.md demo:/home/user/notes.md
pols cp demo:/home/user/Hello-World/README ./README

Stop or delete it

pols stop demo     # keeps the disk; stopped time is not billed
pols resume demo   # boots it again from the same disk
pols rm demo       # deletes the sandbox and its disk for good

Next steps

  • Add --json to any command (except pols mcp) to get one JSON document on stdout, errors included. Use it in scripts.
  • Keep API keys and passwords in the vault and pass them with --secret instead of --env.
  • Connect your coding agent with the MCP server or the agent skill.
  • Look up every command in the CLI reference.