// The operating system for AI agents.
Today's agents run on top of operating systems designed for humans typing in terminals. KruxOS flips that: every action an agent can take is a typed capability — a small, declared, auditable function with a known input shape and a policy gate in front of it.
Agents call capabilities. A deterministic policy engine decides whether each call is autonomous, notify, approval-required, or blocked. A human supervises from a dashboard. Every invocation lands in a hash-chained audit log.
No LLMs in the policy path. No prompt-engineered guardrails. Just a kernel-isolated sandbox, a typed gateway, and rules you can read.
Left: an agent chatting with a model. Right: every capability it touches — green for autonomous, amber for approval, red for blocked. Switch models, switch scenes.
Docker if you're evaluating. VM appliance if you're shipping — it's the only path with Code Sessions (per-call fork into a fresh agent VM) because Docker doesn't delegate cgroup v2.
Docker image or VM file. Signed with cosign. Aarch64 and x86_64.
Anthropic, OpenAI, Gemini, or point at a local Ollama. Mix and match.
Dashboard on 7800. MCP on 7700. Bearer-auth on 7703.
Self-signed HTTPS. Create an admin passphrase. Mint your first agent.
Agents sit above. Hardware sits below. KruxOS is the typed surface between them — every call typed, every call audited, every call gated.
Every capability call passes through the gate. The gate matches it against your policy — pattern by pattern, arg by arg — and assigns one of four tiers. No LLM in the path. Sub-millisecond eval.
/data/kruxos/policies/*.yaml — edit, save, reload. No restart.
Agents don't get a chroot and a prayer. Every agent process runs as a low-privilege uid, in its own namespaces, under cgroup v2 limits, with seccomp filtering syscalls and Landlock enforcing mandatory access control over the filesystem. Nftables sits in front of the network.
The AdminAgent is the only path to elevated privilege — and that path is gated by per-agent policy, just like everything else.
Per-capability fork. No long-lived agent shell. Clean state each call.
Frontier APIs, OpenAI-compatible endpoints, a 200+ model OpenRouter pool, or fully offline via Ollama, vLLM, LM Studio, llama.cpp. Pick per-agent.
Packs, plugins, themes, and public docs are Apache 2.0. Build your own capabilities. Ship them to the registry (v0.0.2).
Apache 2.0 surfaces — packs/, plugins/, themes/, docs/public/. Public registry ships in v0.0.2.
github.com/altvale/kruxos →Real humans. v0.0.1 launch channel. Policy patterns, sandbox debugging, capability requests.
discord.gg/VXvQKNv6Jn →v0.0.x is shipping live. File issues. Tag releases. Watch the changelog.
github.com/altvale/kruxos/issues →