Guide · Agent skill
How to use the smolvm Teardown agent skill: clean up VMs and files
Updated · written with AI from the project's own documentation and checked against our catalogue data
The teardown skill is a packaged set of instructions and scripts that an AI agent (such as Claude) loads so it knows how to clean up after smolvm. smolvm runs small virtual machines on your computer, and an interrupted run can leave one running or leave files behind. This guide explains what the skill makes the agent do, how to install it, how to trigger it with plain requests, and what to watch for before running its scripts.
Quick start
- 1Download and unzip the skill. Download the teardown ZIP from this page and unzip it into ~/.claude/skills/ or a project's .claude/skills/ folder. In the Claude apps, upload it under Settings → Capabilities → Skills instead.
- 2Ask the agent to check the host. Request a read-only check, such as "Check what smolvm has left on this machine." The agent runs preflight.sh, which deletes nothing.
- 3Review leftover machines. Run the cleanup script without flags to list leftover VM processes and see what would be affected before anything is killed.
- 4Stop and delete the machines you own. Let the agent delete only machines recorded under the smolskill- prefix. For machines you made yourself, the agent lists them and asks you to confirm each name first.
- 5Verify the result. Run verify-clean.sh under the HOME you are auditing and read the audited_home= line. Confirm every check prints ok and the script exits cleanly.
- 6Reclaim space or uninstall if needed. Prune unused layers to free space, or run the official uninstaller. Then remove any leftover smolvm-registry or smolvm-image-archives directories by hand.
What the teardown skill makes the agent do
Once installed, the agent knows how to stop every smolvm machine a session started, find and remove leftover smolvm files and processes, and run checks that prove nothing was left behind. It also explains how to uninstall smolvm and reclaim disk space.
The skill only deletes machines that a script recorded under its own name prefix (smolskill-). Machines you or another session created by hand are left alone unless you ask the agent to delete them, and then it confirms each one first.
- Stops machines a session started and reports any leftover VM processes
- Checks for smolvm state that remains after a run, a crash or an interrupted Ctrl-C
- Runs verification checks that report ok or FAIL for each item
- Explains how to prune unused layers and uninstall smolvm
Install the teardown skill
Download the ZIP for the teardown skill from this page. You can install it in one of two ways.
For Claude Code, unzip it into your personal skills folder ~/.claude/skills/, or into a project's .claude/skills/ folder to make it available only in that project. For the Claude apps, upload the ZIP under Settings → Capabilities → Skills.
- Personal: unzip into ~/.claude/skills/
- Project only: unzip into the project's .claude/skills/ folder
- Claude apps: Settings → Capabilities → Skills, then upload the ZIP
Check what is on your host before cleaning up
The first step the skill runs is a read-only preflight. It reports each smolvm state directory with its size, whether a bake cache exists, whether the launcher symlink and PATH block are present, and whether state can be relocated on your platform. It deletes nothing and starts no VM.
You can ask for this directly, for example: "Check what smolvm has left on this machine."
scripts/preflight.shStop machines and remove leftovers
The cleanup script first reports leftover VM processes. Running it with --reap kills every VM process under the current HOME, including any running machine you meant to keep, so read the report first and use --reap only when nothing there should keep running.
The script waits up to 20 seconds for ephemeral machines to retire, and it deletes only machines recorded in its state file. The state file lives under ${XDG_STATE_HOME:-$HOME/.local/state}/smolvm-skills/.
- Report only: run the script without flags
- Kill everything under this HOME: add --reap (use with care)
- Remove the state file once the list is empty: --purge
scripts/cleanup.shProve the host is clean
Verification checks are scoped to the HOME they run under, and the audited_home= line shows which profile the result describes. Running them under a different, fresh HOME will report a clean host even when a VM is still running elsewhere, so do not rely on that result.
If you are testing under a scratch HOME while a real smolvm installation exists, pass --protected for each of the real installation's directories so the check confirms nothing was written there today. Each check prints ok or FAIL expected=... actual=..., and the script exits non-zero if any check failed.
- Pass --since with the time your test began, for example "2026-10-03 14:00"
- On macOS the protected directories are ~/Library/Application Support/smolvm and ~/Library/Caches/smolvm
- On Linux, run with XDG_DATA_HOME and XDG_CACHE_HOME unset, as the install was
scripts/verify-clean.shReclaim space or uninstall smolvm
To free disk space, prune unreferenced layers. Pruning a machine starts it if it is stopped. The --all flag also drops cached images, except for a machine created from an image. To uninstall smolvm, use the official uninstaller.
The uninstaller does not remove everything. On v1.18.2 on macOS it leaves ~/Library/Caches/smolvm-registry, and on v1.23.0 it leaves smolvm-image-archives beside the cache directory on both hosts. Remove those by hand after uninstalling.
- Prune a machine's unused layers with machine prune --name <NAME>
- Prune packs with pack prune
- Full file layout is in references/locations.md
curl -sSL https://smolmachines.com/install.sh | bash -s -- --uninstallWhat people use it for
- Clean up after a smolvm session that ended with a Ctrl-C or crash, and confirm no VM is still running.
- Hand back a shared or borrowed host with no smolvm machines or state left behind.
- Find out why disk space disappeared after heavy smolvm use, then prune unused layers.
- Uninstall smolvm completely from a laptop, including the leftover directories the uninstaller skips.
- Use the verification checks as the final cleanup step in test or build pipelines that start smolvm machines.
Frequently asked questions
What does the smolvm teardown skill do?
It stops the smolvm machines a session started, removes leftover smolvm state and processes, and runs checks that show nothing was left behind. It also explains how to uninstall smolvm and reclaim disk space. It deletes only machines recorded under its own smolskill- name prefix.
What do I need to run the teardown skill?
smolvm must be installed (the source says it was verified on v1.29.0 and v1.18.2), along with a bash shell and standard Unix tools such as date, awk, sort, grep and curl. The skill runs scripts and uses the network.
Is the teardown skill safe to run?
The preflight script only reads state, and the cleanup script deletes only machines recorded under its own prefix unless you explicitly ask otherwise. The one risky option is --reap, which kills every VM process under the current HOME, so run the report first. The skill also uses the network, so review the scripts before running them.
Why does the skill say not to use it to delete other people's machines?
The skill refuses by design to delete machines created by other sessions or people. Asking it to clean up machines you made yourself is allowed, but the agent lists them and confirms each one before deleting, because one created before your session began is not yours to remove without asking.
Why does verification pass or fail under a fresh temporary HOME?
Every check is scoped to the HOME it runs under. A fresh temporary HOME reports a clean host regardless of what runs elsewhere, so a clean result there proves nothing about your real machine. Audit the HOME you actually use, and use --protected to confirm a scratch test did not write to a real installation.
Does uninstalling smolvm remove everything?
No. The official uninstaller leaves some directories behind, such as ~/Library/Caches/smolvm-registry on v1.18.2 on macOS and smolvm-image-archives on v1.23.0. Remove those by hand after running the uninstaller.
New agent skills, repos and AI tools — every week
The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.
Our verdict
Use the teardown skill if you run smolvm machines on a laptop or a shared host and want a reliable way to check that nothing is left running or taking up space. Skip it if you have not installed smolvm, since its scripts will mostly report nothing to do, or if you need to remove machines created by other people, which it refuses to do by design.
Download the skill