A Linux distribution for agents.

About

agentos is Fedora bootc with the agentos runtime built in. The whole OS is one container image. It updates atomically with bootc upgrade and rolls back the same way, so nothing is ever half-applied.

On top of that, every agent task is a transaction:

No root, no daemon to trust, no containers to build: user namespaces, overlayfs and Landlock, all in the kernel.

On the real OS

A booted agentos disk, checked over SSH. These are the actual outputs from the machine.

Recorded output Fedora 42 / QEMU
$ grep PRETTY_NAME /etc/os-releasePRETTY_NAME="Fedora Linux 42 (Adams)" $ agent --versionagent 0.0.1 (f6dc82c) $ agent doctor✓ kernel           6.19.14-101.fc42.x86_64✓ user             uid 1000✓ user namespaces  allowed✓ task store       /var/home/ci/.local/share/agentos✓ sandbox          unprivileged namespaces + overlayfs work✓ landlock         ABI v7✓ seccomp          available✓ limits           --memory/--cpus/--pids through systemd user scopes
6 Oct 2026 · f6dc82c
Full transcript
Captured from a booted agentos qcow2 in the disk verification run on 6 Oct 2026. Replay timing is adjusted for readability. Original log excerpt.

Get it

There is no published image or ISO yet. You build it from the repository, which takes one command.

1. Build the image

podman build -f image/Containerfile -t localhost/agentos .

2. Make a disk and boot it

Put your SSH key in image/disk.toml, then build a disk with bootc-image-builder. Boot the result in QEMU, UTM or a cloud. raw, ami and anaconda-iso work too.

sudo podman run --rm --privileged --pull=newer \
  --security-opt label=type:unconfined_t \
  -v ./image/disk.toml:/config.toml:ro -v ./output:/output \
  -v /var/lib/containers/storage:/var/lib/containers/storage \
  quay.io/centos-bootc/bootc-image-builder:latest \
  --type qcow2 --rootfs xfs localhost/agentos:latest

Or move a machine you already have

On any bootc system (Fedora bootc, or Fedora Atomic such as Silverblue), once the image is in a registry you control:

sudo bootc switch ghcr.io/<you>/agentos:latest

Or just the runtime

On an existing Linux machine with kernel 5.11+ and Rust 1.85+:

cargo build --release && sudo install -m 0755 target/release/agent /usr/local/bin/agent
agent doctor

What's inside

BaseFedora bootc 42
Updatesbootc upgrade, bootc rollback
Runtime/usr/bin/agent, the same binary CI tests
Serviceagentd, a systemd user service
Toolsgit, curl, python3, util-linux
KernelLandlock and unprivileged user namespaces, so agent doctor passes with nothing to configure

Use

systemctl --user enable --now agentd
agent do "your task"
agent run -- CMD        # the same sandbox for any command
agent diff | commit | rollback | log

Give a task a budget with --budget 2usd and it cannot spend more.

Docs