cloudflare/computer
Give your agent a computer 👾
What it solves
Cloudflare Computer provides a way to create a persistent, virtual filesystem that can be used as a working directory for various execution environments. It allows developers to run code or shell commands in isolated sandboxes (containers or Workers) while maintaining a consistent state stored in a SQLite database via Durable Objects.
How it works
The system uses a Durable Object to hold the authoritative state of the filesystem in SQLite. This state is then projected into one of three pluggable execution backends:
- Container: Projects the state as a real FUSE mount in a Linux sandbox container, allowing the use of real binaries and network access.
- Isolate shell: Runs a bash shell (via
just-bash) within a Dynamic Worker. - Isolate JavaScript: Executes ECMAScript modules in a Dynamic Worker with access to the virtual filesystem.
Execution is handled through a single entry point (workspace.runtime.exec), which determines whether to run a shell command or a JavaScript module based on the selected backend.
Who it’s for
It is designed for developers building agents, prototypes, and experimental tools that require a persistent workspace, the ability to run arbitrary code/commands, and isolated execution environments.
Highlights
- Pluggable Runtimes: Switch between full Linux containers and lightweight Worker isolates.
- SQLite-backed State: Uses Durable Objects for authoritative, persistent filesystem state.
- FUSE Integration: The container backend uses a daemon (
computerd) to sync state over RPC. - Agent-ready: Includes examples for MCP (Model Context Protocol) and chat agents that use the workspace as a working directory.
Related
- Project
- Project
- Project
- Project
- Project