One microVM per tab
Every session is an OCI image in its own lightweight VM. Namespaces, cgroups and apk/apt all work, because none of it is being faked.
A native macOS terminal that runs actual Linux — real kernel, real /proc, real package manager — in a lightweight VM that boots in about a second. Not an emulator, not a shell wrapper, not Electron.
curl -fsSL https://chopstickshq.com/cs0s/install.sh | sh
~ $ uname -sr
Linux 6.14.9
~ $ head -1 /etc/os-release
NAME="Alpine Linux"
~ $ apk add ripgrep
(1/1) Installing ripgrep (14.1.1-r0)
OK: 12 MiB in 16 packages
~ $ nproc && free -m | head -2
2
total used free
Mem: 1024 118 906
~ $ █
macOS cannot load Linux binaries — there is no binfmt_misc, no WSL1-style translation layer. So cs-OS does the honest thing and runs a real kernel in a real VM, using Apple's Containerization framework.
Every session is an OCI image in its own lightweight VM. Namespaces, cgroups and apk/apt all work, because none of it is being faked.
An optimized kernel and a minimal init get you to a prompt faster than most terminal emulators open a tab.
Alpine by default. Debian, Ubuntu and Fedora are one click away — anything with an OCI image works, pulled on demand.
Liquid Glass chrome and tabs. The text grid itself stays opaque and cheap to composite, so output never stutters behind a blur.
curl -fsSL https://chopstickshq.com/cs0s/install.sh | sh
macOS 14 or later on Apple silicon. Checks your OS, chip and RAM, and stops with a clear reason if anything is short.
SHA-256 checked against the release manifest before anything is unpacked.
Into /Applications, or ~/Applications if that isn't writable. It never asks for a password.
No sudo. No Xcode. No toolchain. The script only ever downloads a prebuilt, checksum-verified app. Uninstall is rm -rf /Applications/cs-OS.app.
| macOS | 14.0 or later |
| Chip | Apple silicon (M1 or newer) |
| Disk | ~120 MB |
| Memory | 8 GB minimum |
| Network | first launch only |
| Linux kernel | ~12 MB |
| initramfs + agent | ~3 MB |
| csos binary | ~6 MB |
| Icon (system font) | ~1 MB |
| Alpine rootfs | ~30 MB |
No root filesystem is bundled — images are pulled on demand, so the download stays the same size no matter which distro you end up living in.
Containerization-backed sessions, one microVM per tab. Liquid Glass tab strip and window chrome. SwiftTerm rendering with xterm-256color and full scrollback. Alpine by default, with Debian, Ubuntu and Fedora presets. One-line installer with SHA-256 verification.