An operating system,
from the ground up.

Tao is written in Go, from the boot loader to the apps: its own kernel, network stack and window system, with everything signed and your files encrypted.

amd64 and arm64 · released 5 November 2026

Windows on a desktop.
Side by side on a tablet.
One at a time on a phone.

Tao lays itself out for the screen it is on, and for the hand using it: pointer or finger, every control is big enough to hit.

From the ground up, literally.

Tao is seven layers on your hardware, and every one of them is Tao's own, written in Go. The bars are how much code each one is.

6

Apps

cmd/terminal/

The Terminal and Web, installed like any other app, each kept to its own folder.

3,543 lines of Go
5

Apps service

cmd/apps/

Installs apps from Tao's repository, and checks every file against keys built into the system.

2,067 lines of Go
4

Compositor

cmd/compositor/

Draws every window, and lays them out for a desktop, a tablet or a phone.

10,791 lines of Go
3

Network

inet/

Ethernet to TCP, written for Tao, with a firewall in layers you can see and change.

4,445 lines of Go
2

Files

taofs/

A filesystem encrypted with your passphrase; apps ask before they reach your folders.

3,556 lines of Go
1

Kernel

kernel/

Runs on every core, and keeps each program in an address space of its own.

13,370 lines of Go
0

tao-boot

boot/

Starts from UEFI, and checks the kernel's signature before running a line of it.

4,015 lines of Go
your hardware: a 64-bit PC or Arm machine with UEFI41,787 lines in all

Try Tao.

Tao is early work: expect it to change. It starts on 64-bit PCs and Arm machines with UEFI firmware, and in virtual machines.

Tao 0.0.8

5 November 2026
amd64PCs with Intel or AMD processors
SHA-256 hashes
tao-0.0.8-amd64.img f86acf7211c1ddc0d3cdbe8bc950cee4a065fff9711ff01472781a82b83f1ce6
tao-0.0.8-amd64.iso 4cad8156b14b80151fbfe9d2ff8a8bd729e670bf9bf2a39242accc33393fa7f7
arm64Arm machines, and Macs with Apple silicon
SHA-256 hashes
tao-0.0.8-arm64.img fb2179825e685ad6fedbe3fe222dc9af5907f21bc40852a73b19a3f2c0fd613c
tao-0.0.8-arm64.iso 8b93fe57904a9e81918bfc026fb6f1d4060daec96c262211236ab8a818053728

On an Apple silicon Mac, the arm64 release runs at full speed in QEMU (from Homebrew):

qemu-system-aarch64 -machine virt,gic-version=3 -accel hvf -cpu host -smp 4 -m 2G \
  -bios "$(brew --prefix qemu)/share/qemu/edk2-aarch64-code.fd" \
  -drive file=tao-0.0.8-arm64.img,format=raw -device ramfb \
  -device virtio-keyboard-pci -device virtio-tablet-pci \
  -netdev user,id=net -device virtio-net-pci,netdev=net
On your computer
# Check it's the file we published: the hash should match the one above.
~ ❯ shasum -a 256 tao-0.0.8-amd64.img
f86acf7211c1ddc0d3cdbe8bc950cee4a065fff9711ff01472781a82b83f1ce6  tao-0.0.8-amd64.img

# Write it to a USB stick, or use a tool such as balenaEtcher.
# Careful: of= must name the stick, not your own disk.
~ ❯ sudo dd if=tao-0.0.8-amd64.img of=/dev/your-stick bs=4M

# Start the PC from the stick, with UEFI and Secure Boot turned off.
# In a virtual machine, use the image as its disk, or the ISO as its CD.