every command

What each command does, and what it printed.

Nothing here is made up. Every block below is a real recording from a running copy of kosa8, with a plain explanation of what it means underneath.

the sealed room

Making a machine

A machine is a whole separate computer running on your laptop. It has its own operating system. You choose what it can see and where it can connect.

kosa8 sandbox create

Start a new machine. You can set how much memory it gets, which folder it can see, and whether it's allowed on the internet at all.

sandbox create
$ kosa8 sandbox create web --memory 2048
sandbox web ready in 729ms
what happenedA machine with 2 GB of memory was ready in under a second.

kosa8 sandbox ls

List your machines. The last column shows which machine a copy came from.

sandbox ls
$ kosa8 sandbox ls
SANDBOX   STATE     CPUS   MEMORY    PARENT
web       running   2      2048MiB   -
what happenedShows what's running, and which copies came from where.

kosa8 sandbox run

Run a program inside one of your machines.

sandbox run
$ kosa8 sandbox run web alpine:latest sh -c echo "isolated: $(hostname)"
isolated: kosa8-guest
what happenedThe program reports a different computer name — because it really is one.

the main idea

Saving and copying

This is the part other tools don't do. Saving keeps the whole running machine, not just its files. Everything that was open is still open when you bring it back.

kosa8 snapshot create

Save a machine exactly as it is right now, including whatever it's part-way through doing.

snapshot create
$ kosa8 snapshot create web --id before-change
snapshot before-change created in 1196ms (118MiB)
what happenedA 2 GB machine was saved in just over a second, taking 118 MB of disk.

kosa8 snapshot restore

Bring a saved machine back. Programs carry on from the moment you saved.

snapshot restore
$ kosa8 snapshot restore before-change --name restored
restored restored in 1059ms
what happenedBack in about a second, still running whatever it was running.

kosa8 fork

Make several copies of a running machine at once. Each copy is independent.

fork
$ kosa8 fork web -n 3 --prefix trial
forked web into 3 sandboxes in 14640ms
  trial1	192.168.127.2
  trial2	192.168.127.2
  trial3	192.168.127.2
what happenedThree separate machines, all with the setup work already done.

kosa8 explore

Try several different things at the same time, each in its own copy. kosa8 tells you which worked.

explore
$ kosa8 explore web --variant echo "esm loader" && exit 1 --variant echo "vm-modules" && true --variant echo "babel" && sleep 1 && true
forked 3 branches in 6379ms

BRANCH                RESULT            TIME     VARIANT
 web-explore-624461   failed   356ms    echo "esm loader" && exit 1
*web-explore-624462   ok       371ms    echo "vm-modules" && true
 web-explore-624463   ok       1360ms   echo "babel" && sleep 1 && true

winner: web-explore-624462
other branches removed; --keep-all keeps them for inspection
what happenedThree ideas tested at once. One failed, two worked, and the fastest was kept.

what it's for

Working with AI assistants

kosa8 ships with ready-made setups for eight coding assistants. It can also let an assistant control kosa8 by itself.

kosa8 agent kits

See the ready-made setups. Each one lists exactly which websites that assistant may use.

agent kits
$ kosa8 agent kits
KIT       IMAGE           NETWORK                             DESCRIPTION
azmx      node:22-alpine  api.azmx.ai,api.anthropic.com,ap..  AZMX AI agent CLI in an isolated sandbox
claude    node:22-alpine  api.anthropic.com,registry.npmjs..  Claude Code in an isolated sandbox
codex     node:22-alpine  api.openai.com,registry.npmjs.org   OpenAI Codex CLI in an isolated sandbox
copilot   node:22-alpine  api.githubcopilot.com,api.github..  GitHub Copilot CLI in an isolated sandbox
cursor    node:22-alpine  api2.cursor.sh,api.cursor.sh,reg..  Cursor CLI (cursor-agent) in an isolated sandbox
gemini    node:22-alpine  generativelanguage.googleapis.co..  Gemini CLI in an isolated sandbox
opencode  node:22-alpine  api.anthropic.com,api.openai.com..  OpenCode in an isolated sandbox
shell     alpine:latest   none                                A plain shell with the workspace mounted and no network

kits in ~/.kosa8/kits override built-ins of the same name
what happenedEight assistants. The plain terminal one has no internet access at all.

kosa8 mcp tools

The things an AI assistant can ask kosa8 to do on its own.

mcp tools
$ kosa8 mcp tools
container_exec         Run a command inside a running container and return its output.
container_list         List containers with their image, state and id.
container_logs         Fetch a container's accumulated output.
container_run          Run a container to completion and return its output. Auto-pulls the image if absent.
container_stats        Report CPU, memory and pid usage for a running container.
container_stop         Stop a running container (SIGTERM, then SIGKILL).
image_build            Build an image from a Dockerfile in a host directory.
image_list             List images available in the engine.
image_pull             Pull an image from a registry into the engine.
kosa8_status           Check whether the kosa8 daemon is running and report its version.
network_create         Create an isolated bridge network with its own subnet.
network_list           List container networks.
sandbox_create         Boot an isolated microVM sandbox with its own kernel and container engine. Use this to run untrusted or experimental work away from the host.
sandbox_delete         Stop and delete a sandbox and its VM.
sandbox_explore        Best-of-N exploration. Forks a sandbox once per candidate command, runs each in its own branch concurrently, and reports which succeeded with timings and output. Keeps the fastest successful branch and removes the rest unless keep_all is set. Use this when several approaches are plausible and you want the answer rather than running them one at a time: branches resume with process state intact, so setup already done in the parent is shared by every branch.
sandbox_fork           Fork a running sandbox into N independent copies. Every fork resumes from the parent's exact state, with processes intact, then diverges. Use this to explore several approaches in parallel from one starting point.
sandbox_list           List sandboxes, including which parent each fork came from.
sandbox_pull           Pull an image into a sandbox's private engine.
sandbox_run            Run a container inside a sandbox's private engine, isolated from the host.
sandbox_snapshot       Capture a sandbox's full state, including running processes and memory, as a snapshot.
snapshot_list          List saved sandbox snapshots.
snapshot_restore       Boot a sandbox from a snapshot, resuming its processes in place.
snapshot_rm            Delete a snapshot (its state file, disk clone, and manifest).
volume_create          Create a named volume for persistent container data.
volume_list            List named volumes.
what happened25 actions, including making copies and trying several ideas at once.

familiar ground

Everyday container commands

If you already use Docker, most of what you know works here unchanged. 42 of the 48 commands behave the same way.

kosa8 run

Run a program in a container. It downloads what it needs the first time.

run
$ kosa8 run alpine echo hello from a microVM
hello from a microVM
what happenedStarted in 178 milliseconds — five times quicker than it used to be.

kosa8 ps

See what's currently running.

ps
$ kosa8 ps
CONTAINER ID   IMAGE   STATUS   NAMES
what happenedThe same layout your existing scripts already read.

proof, not promises

Keeping records

Everything kosa8 does is written down in a way that can't be quietly edited afterwards.

kosa8 audit verify

Check the record hasn't been tampered with.

audit verify
$ kosa8 audit verify
audit chain intact: 908 entries verified
what happened908 entries checked. If one had been altered, it would name which.

kosa8 usage

See how much you've used. This is what a bill would be based on.

usage
$ kosa8 usage --days 30
usage since 2026-06-28 (908 audit entries)

  forks                    22
  peak concurrent forks    3
  snapshots                14
  restores                 23
  sandbox runs             86

  audit chain verified — these figures are reproducible
what happenedCounted from the sealed record, so you can check it yourself.

kosa8 license status

See your plan and how many copies you can run at once.

license status
$ kosa8 license status
plan:             Trial (14-day trial)
concurrent forks: 4
trial:            14 days left — subscribe at https://kosa8.com/#pricing
what happenedCopies are the thing that's counted. Everything else is unlimited.

kosa8 doctor

Check your computer can run kosa8 before anything goes wrong.

doctor
$ kosa8 doctor
✓ platform                     darwin/arm64
✓ macOS >= 14 (save/restore)   macOS 26.0.1
✓ hypervisor support           kern.hv_support=1
✓ Xcode command line tools     /Library/Developer/CommandLineTools
✓ kosa8d daemon                reachable
what happenedConfirms the machine, the macOS version, and that virtualization is switched on.