Coding agents need somewhere to work.
The agent loop is excellent. What it doesn’t come with is a place to run code, files that survive a handoff, a database to read, or a trace of what it did. sys9 is that substrate — atomic services you compose under Claude Code, Codex, OpenClaw, Cursor, or OpenCode with the setup required by each runtime.
A workspace, assembled from four services.
Each does one job. Start with a sandbox; add files, a database, and traces as the agent needs them.
A sandbox per task
Fork a Root Snap containing the OS, repository, and installed packages, then start a separate Box for a task. Persistent Volumes are separate; running processes and credentials need their own setup.
run9 → drive9Files that follow the agent
A shared FUSE filesystem across sandboxes, sessions, and handoffs — plus semantic grep (vector + BM25 in parallel) so the agent finds the right file, not just the named one.
drive9 → db9A database from the terminal
Serverless Postgres with database branching and built-in file storage. Give a review its own database and scoped access.
db9 → owl9Capture agent sessions
Install owl9, configure a private space and the runtime integration, then enable capture for supported sessions. Inspect native transcripts and linked sub-sessions.
owl9 →Create a task environment, run the agent, keep the transcript.
Start each task from a prepared Root Snap. Run the agent inside the new Box, export the result, and remove resources you no longer need. Host Compute and retained storage have separate usage.
A separate workspace for each task.
First install the sys9 CLI and complete run9 login. Prepare a repo-template Box with the repository at /work/repo and Claude Code plus owl9 installed. Keep provider credentials out of the reusable template. After creating the task Box, configure its provider, a unique private owl9 space, and runtime integration before enabling capture. Replace the Snap placeholder with the ID returned by the fork command; choose a unique Box name for each task.
# Stop the prepared template, then fork its Root Snap sys9 run box stop repo-template sys9 run snap fork --from-box repo-template sys9 run box create task-41 --snap '<returned-root-snap-id>' # Configure provider and owl9 inside task-41 first sys9 run box exec task-41 /bin/sh -lc \ 'cd /work/repo && OWL9_ENABLE=1 claude -p "fix the failing test"' # Export the result before removing the task Box sys9 run box cp task-41:/work/repo ./task-41-result sys9 run box rm task-41
Bring the agent. We bring the substrate.
Use the services with your existing runtime. Session capture requires a supported owl9 integration; follow its setup instructions in the environment where the agent runs.
The services behind this shape.
Forkable sandbox
Fork a filesystem Snap, create a Box, and execute through the CLI or SSH.
run9 → drive9One filesystem
Shared FUSE filesystem, semantic grep, per-agent secrets vault.
drive9 → db9Postgres, from terminal
Serverless Postgres, database branching, and built-in file storage.
db9 → owl9Session observability
Capture supported sessions after setup; read transcripts and linked sub-sessions.
owl9 →Give your coding agent a real workspace.
Install the CLI, sign in to run9, and follow the quickstart to create your first Box.