Run shuru on Linux.
ARM64 servers and workstations, with KVM.
Shuru on Linux runs lightweight ARM64 Linux guests through a KVM backend, giving AI agents the same ephemeral, disposable sandbox they get on macOS. The Linux backend is available as an experimental build for testing. It is not ready for production use yet.
Prerequisites
- Linux ARM64 (aarch64) host. x86_64 Linux is not supported.
- KVM enabled in the kernel, with a readable and writable
/dev/kvm. - Membership in the
kvmgroup (or equivalent) so your user can open/dev/kvm. curlandtaravailable onPATHfor the install script.
Quick check:
uname -m # expect: aarch64
ls -l /dev/kvm # expect: crw-rw---- root kvm
groups | tr ' ' '\n' | grep -x kvm
If /dev/kvm is missing, your host does not have KVM available. On cloud VMs this usually means
the instance type does not expose nested virtualization. On bare metal, verify that virtualization is enabled
in firmware and that the kvm module is loaded.
Install
One-line install script. It detects Linux ARM64 and downloads the matching release tarball.
curl -fsSL https://shuru.run/install.sh | sh
The binary lands at ~/.local/bin/shuru. If that directory is not on your PATH,
the script prints a shell line to add. Put it in ~/.zshrc, ~/.bashrc,
or equivalent.
Prefer a manual install? Grab the shuru-v<version>-linux-aarch64.tar.gz tarball from
GitHub Releases, extract shuru, and drop it anywhere on your PATH.
Grant KVM access
If shuru run fails with a permission error on /dev/kvm, add your user to the
kvm group and log back in:
sudo usermod -aG kvm "$USER"
# log out and back in, then:
groups | tr ' ' '\n' | grep -x kvm
Some distributions use a different group name (for example libvirt or qemu).
Check the owning group of /dev/kvm with ls -l /dev/kvm and join that one.
First run
# Interactive shell
shuru run
# Run a command
shuru run -- echo hello
# With network access
shuru run --allow-net -- curl https://example.com
# Custom resources
shuru run --cpus 4 --memory 4096 -- sh The first run downloads the kernel and rootfs assets. After that, boots take about a second on most ARM64 hardware. Everything else works the same as on macOS: checkpoints, mounts, secrets, port forwarding.
Troubleshooting
- permission denied on
/dev/kvm. You are not in thekvmgroup, or your session has not picked up the new group yet. Log out and back in. - no
/dev/kvmdevice. The host does not expose KVM. On cloud providers, use an instance type that supports nested virtualization (for example Scaleway or Hetzner bare metal ARM). - unsupported architecture. Shuru Linux builds target ARM64 only. x86_64 Linux support is not planned for the experimental track.
- install script fails. Check you have
curlandtaronPATH, and that GitHub Releases is reachable from your network.
What is still missing
Linux is experimental. Homebrew remains macOS-only, and we are still closing gaps between the macOS and Linux backends around performance, device support, and upgrades. File issues or open PRs on GitHub if something breaks for you.