agent-os: agentOS: The OS for AI Agents That Runs Inside Your Backend

A Rust kernel, Wasm execution plane, and deny-by-default permissions model replace the heavy container stack with something faster, denser, and built for untrusted agent code.

8-10 min read • View on GitHub • More from rivet-dev

A large backend application encloses a compact kernel core, with tiny process windows, file mounts, and permission gates embedded inside it. The image explains that agentOS is not a remote sandbox, but an operating system-like runtime living inside the host process.
agentOS turns the OS into a library that your backend can load directly, collapsing the distance between agent code and its execution environment.
Key Takeaways

The OS Is a Library Now

agentOS makes a strange but useful move: it stops treating the operating system as a separate place. Instead, it becomes something your backend can import and run. That turns the usual sandbox story inside out.

The result is not just a smaller deployment footprint. It is a different mental model for agent infrastructure. You are no longer paying for a full machine when what you actually need is a scheduler, a filesystem, and a set of hard permission checks.

That matters because agent workloads are bursty. They need to start fast, do a small amount of work, and disappear. agentOS is built for that shape instead of the heavier shape that containers and VMs were designed for.

Runs inside your process: No VMs to boot, no containers to pull. Agents start in milliseconds with minimal memory overhead.

unknown, Project maintainer · GitHub - rivet-dev/agent-os

What agentOS Actually Owns

The repository is split along a clean line. The kernel owns the OS abstractions. The execution plane owns the code that actually runs. The bridge and sidecar layers connect the host to the guest and mount external services into the filesystem shape the agent expects.

agentOS separates policy, process management, and execution so the host can stay in control while the guest code runs with narrow capabilities.

That split is the trick. The kernel can reason about PIDs, mounts, and permissions without caring whether the actual workload is JavaScript, WebAssembly, or Python through Pyodide. The runtime can swap execution targets without rewriting the security model.

host backend → bridge → kernel → process table → runtime
                              ↘ permissions ↙
                               virtual filesystem

The Trick: Overlay Filesystems and Virtual Processes

agentOS borrows familiar Unix ideas, then reimplements them in a lighter-weight form. The process table tracks virtual processes. The filesystem is layered. The code that looks like a booted environment is often just a set of mounted abstractions in memory.

That overlay filesystem pattern is central. A read-only base layer can hold standard assets like a Python runtime or shared files. A writable layer sits on top. The agent thinks it is mutating a normal disk. The kernel is really routing those writes through an overlay.

A close-up cutaway of stacked filesystem layers shows a read-only base with shared assets beneath a writable memory layer where files are being edited. A small permission gate blocks an unauthorized write request at the edge. The image explains how agentOS simulates persistence and mutability without booting a full disk-backed machine.
The overlay filesystem gives agentOS persistence and mutability without the startup cost of a traditional Linux image.

The process model follows the same idea. A virtual PID is not a Linux process in the traditional sense. It is a scheduling and bookkeeping construct backed by an isolate or Wasm task. That is enough for the agent, and it is much cheaper than hauling in a full machine.

This is why the project can talk about density and cold starts in the same breath. If the environment is a set of in-process structures instead of a booted OS image, the path from request to execution gets much shorter.

Security Starts as a Kernel Policy

The permissions model is deny-by-default. That sounds simple, but it changes where security lives. In agentOS, trust is not an ambient property of the environment. It is a decision the kernel makes before a file opens, a command runs, or a network request leaves the process.

That is a better fit for agent code than a broad sandbox with lots of hidden capability. Agents are powerful because they can act. They are risky for the same reason. A kernel-level policy layer lets the host narrow that action surface one decision at a time.

DimensionTraditional container sandboxagentOS
StartupBoots a full environmentRuns inside the host process
MemoryDedicated instance overheadShared in-process runtime
Security boundaryExternal sandbox boundaryKernel policy inside the app
Python supportNative Linux Python stackPython via Wasm and Pyodide
Best fitHeavy dev environmentsShort-lived agent workloads

That table is the practical distinction. agentOS is not trying to win every sandbox case. It is trying to win the agent case, where the work is small, repeated, and sensitive enough that policy must be enforced close to the execution point.

Why Wasm and V8 Change the Economics

The execution plane is where the project’s economics show up. Wasm modules and V8 isolates give agentOS a fast path for untrusted code. Python support comes through Pyodide, which keeps the runtime inside the same lightweight model instead of forcing a second, heavier environment.

That architecture is what makes prewarming worth caring about. If the runtime is cheap to spin up, the system can keep a hot path ready for the next request. The difference is not academic. It is the difference between a tool that feels interactive and one that feels queued.

The project also makes room for heavier workloads when it needs to. That hybrid stance matters. It suggests the authors are not chasing purity. They are building a default path for small agent tasks and an escape hatch for the rare job that really needs a fuller sandbox.

Against the Container Stack

The cleanest comparison is with traditional container sandboxes such as E2B and Daytona. Those systems give you a real environment. agentOS gives you a runtime shaped for agent work. Same broad category, different center of gravity.

Containers are still the right answer for browsers, native binaries, and dev servers. agentOS is making a narrower claim. For coding agents, tool calls, filesystem operations, and short-lived computation, it can trade generality for speed and density.

That trade is visible in the product itself. It does not pretend the container model is obsolete. It argues that agents are common enough, and distinctive enough, to deserve their own operating layer.

The Bigger Bet: An Agent-Native OS Layer

The long-term implication is not just a faster sandbox. It is an agent-native operating layer with its own rules, persistence model, and mounting abstractions. If that works, the next question is standardization: how do different agents describe files, permissions, sessions, and transcripts to the same runtime?

That is where agentOS starts to look less like a product and more like infrastructure research. It is trying to define the shape of a class of software that does not fit the old app server plus container stack particularly well.

The strongest reading is simple. agentOS is not a smaller version of Linux for agents. It is a different abstraction entirely, one that brings the OS closer to the code that needs it.