Version-control your filesystem.
Then run it.

hako is a content-addressed, version-controlled filesystem with a built-in container runtime. Commit, branch, merge, and roll back container state like source code.

# a fresh workspace is a usable, versioned Linux rootfs
$ hako init
$ hako pull alpine          # pull a real OCI image
$ hako is alpine            # switch identity โ€” instant
$ hako ls /                 # browse it, no mount

# edit the filesystem and snapshot it
$ hako write /etc/motd "hello"
$ hako commit -m "set motd"
$ hako run alpine sh        # run it for real

What makes it different

โ—† Content-addressed

BLAKE3-hashed chunks in a prolly tree, with structural sharing across every container and commit. Identical data is stored once.

โ—† Real version control

Commits, branches, three-way merge with conflict detection, diff, and tags โ€” for the filesystem of every container.

โ—† OCI images

Pull from Docker Hub and any registry. The image becomes the container's first commit; switch between images with hako is.

โ—† Runs everywhere

Read/write commands are pure tree ops โ€” instant on Linux, Windows, and macOS. hako run isolates with namespaces, bridged via WSL2 / Lima.