Skip to content

Boxes

What a box is, how it sleeps and wakes, where files live, and how reset and delete work.

A box is a persistent Linux computer that belongs to you. Your agent works in it as root, and everything it installs or writes stays there: files, packages, cloned repos and logins. A standard box has 1 vCPU and 4 GB of memory (about 3.8 GB usable). Bigger sizes and GPU boxes come with Pro and Power; see Sizes and GPU boxes.

What's already installed

Every box starts with the tools agents reach for most:

  • Office documents: LibreOffice, pandoc, python-docx, openpyxl and python-pptx, docx and pptxgenjs for Node
  • PDF & print: TeX Live (pdfLaTeX, XeLaTeX), poppler (pdftoppm, pdftotext), qpdf, wkhtmltopdf, Tesseract OCR
  • Data & ML: pandas, NumPy, SciPy, scikit-learn, matplotlib and seaborn, Graphviz
  • Browser automation: Playwright with Chromium, for Python and Node
  • Media: FFmpeg, ImageMagick, sharp, Mermaid CLI
  • Languages & runtimes: Python 3.12 with uv, Node.js 22 with npm, Java 21
  • Agent CLIs: Claude Code & Codex (installed on first use)

Optional add-ons, such as database clients, the GitHub CLI and extra codecs, are under Toolhouse → Add-ons. Turning one on installs it in all your boxes. Your agent can also install anything else itself: use uv run --with <pkg> or uv pip install --system --break-system-packages <pkg> for Python packages (plain pip install is blocked by the system Python) and npm or apt-get for the rest.

Make a box

Your first box, "my box", is made when you sign up. New box on the Boxes page makes another. Give it a name of up to 40 characters, or leave it blank and wack picks one. The dialog also lets you choose a size, turn on a screen and start from a saved image, described below.

Your plan sets how many boxes you can have and which sizes you can make (Limits).

Boxes your agent makes

An agent connected with your account's URL can make boxes itself, to run work side by side, and delete the ones it made. They appear on Boxes like any other and count toward your plan. A box it marks as temporary says Temporary on its card and deletes itself, with its files, the first time it goes to sleep. Connect has the details.

Sizes

A box is Standard, Large, XL or GPU, and keeps its size for life. Standard suits most work. Large and XL are for dev servers, big builds and test suites, and a GPU box has one NVIDIA RTX 4090 for work that needs graphics hardware. An awake hour on a bigger box counts as more than one plan hour. Sizes and GPU boxes has the table and what's different about each.

Screen

A box can have a screen: a display at 1440 × 900 that your agent opens real windows on, such as a headed browser. You watch it live on the box's Screen tab and can take control to click and type yourself. Screen covers turning it on and what your agent can do with it.

Setups and images

A setup is a recipe your agent applies to a box: apt packages, an exact Chrome version, repos, fonts, environment variables and commands. Save as image keeps a copy of a box that's set up, and new boxes can start from it. Setups and images has the recipe and how images work.

Pixel tests

Screenshots compare well between two runs in the same setup: the same image, Chrome build, fonts, screen size and kind of box. Record reference images in a box, never on another machine. Pixel tests has the launch flags for boxes with and without a GPU.

Sleep and wake

A box is in one of these states:

  • Setting up: a new or reset box getting ready. This usually takes under 20 seconds.
  • Awake: running and counting toward your awake hours.
  • Asleep: paused with its disk kept. It uses no awake hours. GPU boxes never sleep: they end.
  • Needs attention: something went wrong. The box's Overview says what, and Try again usually fixes it.

A box wakes when something needs it: a tool call from your agent, an automation run, a cloud session, or Wake box on the box's Overview (also in its ⋯ menu). Waking takes about a second.

A box goes back to sleep after 10 minutes without a command, an automation run or a cloud session, and never during one. Sleep now on the Overview puts it to sleep right away, unless something is running.

What sleep does to running programs depends on the size:

  • Standard boxes keep their memory. Jobs left running in the background pause while the box sleeps and carry on when it wakes.
  • Large and XL boxes keep their files but restart their programs. Background jobs, servers and anything open on the screen stop, and your agent starts them again after the wake.

Either way, background jobs don't keep a box awake. For work that should go on without an agent calling, use an automation.

Your plan sets how many boxes can be awake at once. Waking one more fails with a message that says so: put a box to sleep, or wait for one to go idle. wack never puts a box to sleep or deletes one to make room for another.

Files

Two folders matter:

  • /mnt/user-data/uploads: where files for the agent to work on go.
  • /mnt/user-data/outputs: where deliverables go. Automation runs write to /mnt/user-data/outputs/runs/<run id>.

The box's Files tab lets you browse /mnt/user-data/outputs and download files up to 100 MiB. Browsing needs the box awake, so an asleep box shows a Wake button instead of files.

Agents move files with box_upload (up to 10 MiB) and box_download (up to 5 MiB inline). Apps can move files up to 100 MiB through the API.

Commands

box_exec runs a command with bash as root, in a clean environment. A command gets 300 seconds by default and up to 900 seconds when the agent asks for more. A command that runs out of time, or that the agent cancels, is stopped along with everything it started. For longer work, the manual tells agents to start the job in the background, write its log under /mnt/user-data/outputs and check back at least every few minutes, so the box doesn't fall asleep under it.

Very long output is trimmed to its beginning and end. Limits has the exact numbers.

A box can reach the internet, but nothing on the internet can reach into it: there is no inbound network. To look at a page a box is serving, have your agent take a box_screenshot, or open it in a browser on the box's screen.

Reset

Reset box (in the box's Settings, under Danger zone, or its ⋯ menu) throws away the box's disk: every file, installed package and login is gone, and the next wake starts from a fresh box with the standard tools. The box keeps its name and its connect URL, so connected agents keep working. Reset asks you to type the box's name first. GPU boxes can't be reset: end one and make a new one.

If a box is ever lost on our side, wack sets up a fresh one in its place the same way. The box's activity shows the reset, and you get an email about it.

Delete

Delete box (in the same places) removes the box and everything in it for good, including its automations, activity and connect URL. It can't be undone, so it also asks you to type the box's name. A GPU box has End in its place, which deletes the box and its disk the same way.

Activity

The box's Activity tab lists what happened in the box, with its cloud sessions above: wakes and sleeps, commands your agents ran, files moved, agents that connected, automation runs and cloud sessions. It shows the command text and exit code, not the output.

Last updated