Prepare an environment. Fork its filesystem.
Give agents Linux Boxes they can configure and run. Save a filesystem Snap, then create independent Boxes from it to test a change or start another task. Drive the work through the CLI, API, or standard SSH.
Keep the setup. Start independent work.
A Root Snap contains the Box's OS, installed packages, and files on that filesystem. Fork it to reuse a prepared environment. Each fork captures one Snap: separate Volumes and mount configuration are not included. New Boxes start fresh processes; running processes, memory, and open connections are not copied.
Install the sys9 CLI first. The example uses your current project; replace the credential and Snap ID placeholders with your own values.
# sign in with an org API key from the run9 portal # replace YOUR_ACCESS_KEY and YOUR_SECRET_KEY $ sys9 run auth login --endpoint https://api.run.sys9.ai --ak YOUR_ACCESS_KEY --sk YOUR_SECRET_KEY # choose unused Box names in your project $ sys9 run box create my-box --image public.ecr.aws/docker/library/alpine:3.20 $ sys9 run box exec my-box /bin/sh -lc 'mkdir -p /work && echo hello > /work/hello.txt' # save the Root filesystem, then use the returned Snap ID $ sys9 run snap fork --from-box my-box $ sys9 run box create my-copy --snap SNAP_ID
Use the Linux tools you already know.
Run a build, inspect a file, or open an interactive shell with sys9 run box exec.
Standard SSH is also available after registering your SSH public key. An exec request
prepares the runtime when needed; startup time depends on available capacity and the environment.
For secret injection, enable managed egress and configure allowed destination hosts and HTTPS request headers. Matching requests receive the configured secret at the network edge; this is an optional setup, not the default network mode.
# read the persistent file from the copied Box $ sys9 run box exec my-copy /bin/sh -lc 'cat /work/hello.txt' # open an interactive shell $ sys9 run box exec my-box -it /bin/sh # inspect your project's Boxes $ sys9 run box ls
Create. Run. Save.
Use separate Boxes for independent tasks, within your organization's capacity and usage limits.
Start from an image or Snap
Create a Box in your project. Install the tools your task needs, then save its Root as a reusable Snap. Data on separate Volumes is managed independently.
Give each task a Box
Create independent Boxes from the prepared Snap. For distributed tests, send an explicit shard command to each Box and collect the results in your own runner.
Account for compute and storage
Usage includes Host Compute and Storage. Retained organization hosts accumulate compute usage while idle, and retained data uses storage. Check your plan and limits in the portal.
Add the services your agents need.
Connect storage and data through their own APIs and credentials.
Shared files
Access persistent files from authorized agent environments.
drive9 → db9Postgres
Create an independent database branch for a test environment.
db9 → smith9Agent service
Run managed agent Sessions in persistent workspaces.
smith9 → owl9Session records
Enable transcript collection for supported agent runtimes.
owl9 →Give your agent a Linux environment.
Sign in to the run9 portal, create an organization API key, and follow the quick start to create your first Box.