Docs
CLI reference

Commands

Every Sandscape CLI command with a one-line summary. Add --json to any command for machine-readable, line-delimited output.

Add --json to any command for machine-readable, line-delimited output you can parse (including progress events) instead of human text.

Synopsis

sandscape login   [--json] [--api-url <url>]
sandscape logout  [--json]
sandscape skill install [--here [dir]] [--all] [--harness <a,b>] [--json]
sandscape list    [--json] [--no-pick] [--api-url <url>]
sandscape clone   <session_id> [target_dir] [--json] [--api-url <url>]
sandscape pull    [target_dir] [--json] [--force] [--api-url <url>]
sandscape push    [target_dir] [--json] [--api-url <url>]
sandscape publish [target_dir] --title <t> [--json] [--api-url <url>]
sandscape init    <folder> [--name <n>] [--backfill] [--json] [--api-url <url>]

Commands

  • sandscape login — authorize this machine once (device-code flow). Required before anything else. With --json it emits verification then authorized/error events — see Login.
  • sandscape logout — forget the stored credentials on this machine (revoke the token itself from the Sandscape account UI).
  • sandscape skill install — install the bundled sandscape-cli Agent Skill. The default is a global install into each detected agent's skills dir plus the cross-tool ~/.agents/skills. --all installs into every known dir, --harness claude,codex,… restricts, --here [dir] installs into a project's .claude/ + .agents/ instead.
  • sandscape list — list your projects (id, name, status). Doubles as a cheap auth check: exit 0 = authorized, exit 1 = needs login.
  • sandscape clone <session_id> [dir] — clone one of your projects into a new folder.
  • sandscape pull [--force] — download the latest version. --force overwrites local edits on conflicting files — see First round-trip.
  • sandscape push — upload your local changes.
  • sandscape publish --title "<title>" — publish the game so others can play it. The server rebuilds from its own bundle and re-validates; the CLI only sends metadata.
  • sandscape init <folder> [--name <n>] [--backfill] — import your own game folder as a new Sandscape project. Maps the folder tree verbatim (honoring .gitignore/.sandscapeignore, always skipping node_modules/ + .git/) and auto-registers recognized asset files for FREE. --backfill runs an optional, coin-metered pass that enriches design metadata — it prints the cost and your balance first. See Import your own game.

For flags, exit codes, the version/divergence model, and --json event shapes, see the Reference.

On this page