---
title: CLI reference
description: "Every pols command with its usage, examples and flags, generated from the CLI's own help."
sidebar:
  label: Overview
---

<!-- Generated by scripts/reference.mjs from the pols CLI's --help. Do not edit; run `npm run reference:sync`. -->

These pages are generated from the `--help` output of the `pols` CLI, so they always match the version recorded in the docs repository. Run `pols <command> --help` for the same text in your terminal.

```text
pols manages pols.so sandboxes: full Ubuntu 24.04 VMs with root, systemd and
Docker, hosted in Germany.

Authenticate with `pols login` or the POLS_API_KEY environment variable.
Sandboxes are named by ID (sbx_...) or by name. Every command takes --json
for machine-readable output.
```

## Commands

| Command | Description |
| --- | --- |
| [`pols browser`](/reference/cli/browser/) | Control a sandbox's Chrome over the Chrome DevTools Protocol |
| [`pols computer`](/reference/cli/computer/) | Use a sandbox's desktop: screenshots, mouse and keyboard |
| [`pols cp`](/reference/cli/cp/) | Copy a file between this machine and a sandbox |
| [`pols desktop`](/reference/cli/desktop/) | Print a link to the sandbox's desktop in the browser |
| [`pols exec`](/reference/cli/exec/) | Run a command in a sandbox, streaming its output |
| [`pols fork`](/reference/cli/fork/) | Fork a sandbox into a new running sandbox with a copy of its disk |
| [`pols get`](/reference/cli/get/) | Show one sandbox |
| [`pols host`](/reference/cli/host/) | Publish a sandbox port over HTTPS, or list published ports |
| [`pols login`](/reference/cli/login/) | Store an API key (read from stdin, or POLS\_API\_KEY) |
| [`pols logout`](/reference/cli/logout/) | Forget the stored API key |
| [`pols ls`](/reference/cli/ls/) | List sandboxes |
| [`pols mcp`](/reference/cli/mcp/) | Serve the pols tools to an AI agent over MCP (stdio) |
| [`pols new`](/reference/cli/new/) | Create a sandbox and wait until it runs |
| [`pols org`](/reference/cli/org/) | Show your org, its quotas and what it uses |
| [`pols resume`](/reference/cli/resume/) | Resume a stopped sandbox |
| [`pols rm`](/reference/cli/rm/) | Delete a sandbox and its disk |
| [`pols skill`](/reference/cli/skill/) | Install the pols agent skill, so agents know the CLI without reading `--help` |
| [`pols ssh`](/reference/cli/ssh/) | Open an SSH session in a sandbox through the SSH gateway |
| [`pols ssh-key`](/reference/cli/ssh-key/) | Manage the SSH public keys that open your org's sandboxes |
| [`pols stats`](/reference/cli/stats/) | Show the CPU, memory and disk use of a sandbox, or of all running sandboxes |
| [`pols stop`](/reference/cli/stop/) | Stop a sandbox (disk is kept; stopped time is free) |
| [`pols template`](/reference/cli/template/) | Save sandboxes as templates and manage them |
| [`pols usage`](/reference/cli/usage/) | Show per-second usage (default: this month) |
| [`pols vault`](/reference/cli/vault/) | See your org's vault of passwords and environment variables for sandboxes |
| [`pols version`](/reference/cli/version/) | Print the version |

## Global flags

Every command accepts these:

```text
    --api-url pols login   API URL (env POLS_API_URL; default from pols login, else https://api.pols.so)
-h, --help                 help for pols
    --json                 print machine-readable JSON
```
