macOS 14+ · Apple silicon

cs-OS — real Linux,
natively

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

v0.1.0 · not yet released  ·  ~140 MB installed  ·  no sudo  ·  no Xcode

alpine cs-OS — session 1
~ $ 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
~ $ █
What it is

Real Linux, not an approximation

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.

▮

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.

⚡

Sub-second boot

An optimized kernel and a minimal init get you to a prompt faster than most terminal emulators open a tab.

⌘

Bring your own distro

Alpine by default. Debian, Ubuntu and Fedora are one click away — anything with an OCI image works, pulled on demand.

◆

Glass where it belongs

Liquid Glass chrome and tabs. The text grid itself stays opaque and cheap to composite, so output never stutters behind a blur.

Install

One line, no password

curl -fsSL https://chopstickshq.com/cs0s/install.sh | sh
1 · Checks your Mac

macOS 14 or later on Apple silicon. Checks your OS, chip and RAM, and stops with a clear reason if anything is short.

2 · Verifies the download

SHA-256 checked against the release manifest before anything is unpacked.

3 · Installs the app

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.

Specs

Requirements & size

Requirements

macOS14.0 or later
ChipApple silicon (M1 or newer)
Disk~120 MB
Memory8 GB minimum
Networkfirst launch only

Where the megabytes go

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.

Changelog

Releases

v0.1.0 — unreleased

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.

Copied