How-to guides
Find the Cubicle how-to guide for one task, from running commands, moving files and SSH to the private network, the desktop console, snapshots, templates, hibernation and organization members.
Each how-to guide covers one task from start to finish, with TypeScript SDK, CLI and curl steps where each one can do it (the tab you pick stays selected on every page), a way to check that it worked and the errors you are most likely to meet. For a goal that spans several tasks, such as running CI jobs or giving an AI agent a Box, start with Use cases. Start with the Quickstart if you have not set up the SDK or the CLI yet, and look up unfamiliar terms in Concepts.
Find a guide
| I want to… | Page |
|---|---|
| Run a command in a Box and read its output and exit code | Run commands |
| Pass environment variables or a secret to a command | Run commands |
| Run a job that takes longer than 10 minutes | Run commands |
| Run a command in a Box that may have hibernated | Run commands |
| Copy files into or out of a Box | Move files into and out of a Box |
| Install packages or other software in a Box | Build a template Box, and see who can use sudo |
| Open a shell in a Box, or connect an editor over SSH | SSH into a Box |
| Reach a web server or another service running in a Box | Reach a Box over the private network |
| Use a Box's graphical desktop from the browser | Use the desktop console |
| Save a Box's disk before a risky change, and roll back | Snapshot and restore a Box |
| Create a Box from a saved disk | Snapshot and restore a Box |
| Set up software once and create Boxes that start with it | Build a template Box |
| Pause a Box with its memory, or shut it down | Stop, hibernate and wake a Box |
| Find out why a Box hibernated on its own | Stop, hibernate and wake a Box |
| Add a teammate to your organization | Manage organization members |
| Give a teammate access to a Box | Manage organization members |
| Stay within rate limits when many jobs run at once | Rate limits |
| Find the fix for an error message | Troubleshooting |
| Look up a limit or default | Limits and defaults |
Use cases
These rows lead to use cases, which walk through a whole goal rather than one task.
| I want to… | Use case |
|---|---|
| Manage Boxes from CI or a script with an API key | Run CI jobs in Boxes |
| Let an AI agent run commands in a Box | Give an AI agent a Box |
| Set up development machines for my team | Remote development environments |
Remote development environments
Develop inside Cubicle Boxes from a macOS or Linux laptop, with one virtual machine per developer reached over SSH and the private network, VS Code or Cursor Remote-SSH through the alias cubicle ssh-config writes, dev servers at private names such as job-1.acme.cubicle.internal, a template Box snapshot as the team baseline, automatic hibernation 60 minutes after each start, and what Cubicle cannot do for remote development.
Run commands
Run commands in a Cubicle Box with exec from the TypeScript SDK, the CLI or the HTTP API, covering argv and sh -c, cwd, environment variables and secrets, timeouts, output limits, exit codes, work longer than 10 minutes, waking hibernated Boxes, idempotency keys and polling operations.

