content-addressed · version-controlled · containerized

Version-control the filesystem. Then run it.

hako is a content-addressed, version-controlled filesystem with a built-in rootless container runtime. Commit, branch, merge, and roll back container state like source code — then run it with real namespace isolation, seccomp, and cgroups.

$ curl -fsSL https://hako.run/install.sh | sh
Download binaries View source ↗ · MIT · Rust · zero runtime deps
00 what makes it different

A filesystem with a memory, and a runtime with a boundary.

01

Content-addressed

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

02

Real version control

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

03

OCI images

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

04

A real boundary

Rootless user/mount/PID/IPC/UTS/net namespaces, a PID-1 init, a seccomp filter, a read-only /sys, and cgroup limits.

05

Runs everywhere

Read/write/VC commands are pure tree ops — instant on Linux, Windows, macOS. hako run bridges via WSL2 / Lima.

06

One static binary

A single self-contained executable — no libfuse, no daemon, no runtime dependencies. Download it and go.

01 git, for the whole machine

Branch a container. Merge it back.

Every workspace is a commit graph. Branch to try a risky apt upgrade, diff what changed on disk, merge the good runs, and roll back the bad ones — byte-for-byte, instantly, because state is content-addressed.

The same prolly tree powers fetch and push, so you can sync a container's filesystem between machines like a repo.

02 install

Download and run. No daemon, no dependencies.

$ curl -fsSL https://hako.run/install.sh | sh

Installs the right binary for your OS and architecture from the latest GitHub release. On Windows & macOS, the binary embeds the Linux runtime and auto-creates a WSL2 distro / Lima VM on your first hako run — no manual setup.

Prefer to build it? cargo build from source ↗