RepoDaily · 2026-08-06 · Infrastructure / Runtime

Cloudflare Computer gives every agent a SQLite-backed filesystem and pluggable sandbox runtime

#6 Infrastructure / Runtime TypeScript +796 cloudflare/computer Open repository

@cloudflare/computer ships a preview virtual filesystem, R2 mounts, and three execution backends for Durable Object agents — explicitly not production-ready.

Repo typeInfrastructure / Runtime
Best forPrototyping Cloudflare Agents that need a portable, persistent filesystem plus optional shell or isolated-JS execution inside a Durable Object.
Risk levelHigh — preview-only, unstable APIs, no unsolicited PRs.
Time to evaluate1–2 days to wire a single backend into a Worker and try the AI SDK tools.

Primary question: Do you need agent-scoped durable files and isolated execution on Cloudflare's platform, and can you tolerate breaking API changes?

85/100

RepoDaily adoption score

RepoDaily rates this as 85/100 (strong) for adoption: evidence, installation path, production risk, differentiation, license clarity, and AI/agent fit are scored from the article sources and adoption notes.

Directional score from RepoDaily sources and adoption notes, not a benchmark.Risk: High
96Evidence quality

4 source(s) across 3 source category/categories, plus a RepoDaily-specific evidence module when available.

100Installability

6 workflow step(s), 6 next-action step(s), and 4 command/install signal(s) were detected.

56Maintenance confidence

Trending momentum is +796 stars, with maintenance/release/issue signals counted when present.

74Production readiness

Risk is marked high, with 4 security note(s) and 4 explicit skip condition(s).

100Differentiation

3 opportunity lens item(s), 4 alternative(s), and 3 type-specific section(s) support differentiation.

82License clarity

License source or license wording is present.

84Agent / AI fit

6 AI/agent-related signal(s) were detected in the article text and metadata.

Project overview

Cloudflare Computer (`@cloudflare/computer`) is a preview TypeScript package that gives a Durable Object (DO) an out-of-the-box virtual filesystem backed by SQLite, plus pluggable execution backends. The README is explicit that this is a preview for feedback: APIs are unstable, the design is subject to change, and it is not suitable for production. The forward-looking spec in the docs directory is described as intent, not a description of the code today.

The package is aimed at agents that need small, portable filesystems and tools to operate on them. It provides a Worker-compatible fs API, R2-backed read-only mounts, durability across DO restarts, and three runtime backends selectable through `workspace.runtime`: a Cloudflare Container shell, a just-bash Dynamic Worker, or an isolated ECMAScript-module Dynamic Worker.

On top of the filesystem, Computer bundles AI SDK tools under `@cloudflare/computer/tools` for `@cloudflare/agents`, exposing read, write, edit, ls, optional exec, and optional publish operations. Wire types shared with the in-container service live in the sibling package `@cloudflare/computer-rpc` with `./server`, `./client`, and `./driver` subpaths.

The storage ceiling is concrete: roughly 10GB because it shares storage with the DO. The container-side filesystem is held in memory, so large trees and monorepos are explicitly out of scope. Container IO goes through FUSE, which means heavy workloads like large `node_modules` installs or big tarball extractions take a measurable performance hit versus a native filesystem.

Problem it solves

  • Agents built on Durable Objects previously had no standard, persistent virtual filesystem compatible with Worker bindings.
  • Running untrusted or semi-trusted code inside an agent required each team to build its own sandbox wiring, R2 prefetch, and execution lifecycle.
  • Durable relative imports, configured libraries, and durable `node:fs/promises` inside an isolated JS runtime are non-trivial to implement correctly on Workers.
  • Agent-scale workspaces need durability across DO restarts, which ad-hoc in-memory solutions lose on every cold start.

How it works

  1. Install the package into a Worker or Agent project with `npm install @cloudflare/computer`.
  2. Construct a `Workspace`, optionally without a backend for filesystem-only use cases, or with a `workspace.runtime` selection.
  3. Pick one of three execution backends via dedicated subpaths: `@cloudflare/computer/backends/container`, `@cloudflare/computer/backends/worker-shell`, or `@cloudflare/computer/backends/worker-javascript`.
  4. For the container backend, use a base image that includes the `computerd` daemon and a FUSE runtime; the example Dockerfile copies the prebuilt binary from `ghcr.io/cloudflare/computer-computerd-linux-x64:0.1.0-alpha.1`.
  5. Optionally mount R2 data read-only into the workspace tree and enable `@cloudflare/computer/git` (lazy isomorphic-git with Workers `node:zlib`) or `@cloudflare/computer/artifacts`.
  6. Expose the bundled AI SDK tools from `@cloudflare/computer/tools` to an `@cloudflare/agents` agent so it can read, write, edit, list, exec, or publish inside the workspace.

Entrypoints and runtime surface

Computer is published as multiple entrypoints rather than a single bundle, so unused backends tree-shake away. The root `@cloudflare/computer` entrypoint exposes the Workspace facade, `workspace.runtime`, stub types, the R2 mount, and proxy classes. A consumer that only uses the container backend never imports the worker subpath, so the just-bash payload is dropped from the graph.

Execution backends each live under their own subpath. `@cloudflare/computer/backends/container` provides `CloudflareContainerBackend` and `withWorkspaceContainer` and pulls in the `computerd` / `capnweb` sync plumbing. `@cloudflare/computer/backends/worker-shell` ships the bundled just-bash command runtime. `@cloudflare/computer/backends/worker-javascript` provides configured libraries, durable relative imports, durable `node:fs/promises`, and trusted `ws:git` / `ws:artifacts` bindings.

Installation and container image commands

  • Install: `npm install @cloudflare/computer`.
  • Container base image tag referenced in `examples/container/Dockerfile`: `ghcr.io/cloudflare/computer-computerd-linux-x64:0.1.0-alpha.1`.
  • Example Dockerfile installs `fuse3`, `libfuse2t64`, and `ca-certificates` on `debian:stable-slim` and copies the prebuilt `computerd` binary out of the public GHCR image.
  • Wire types for the in-container service ship in the sibling `@cloudflare/computer-rpc` package with `./server`, `./client`, and `./driver` subpaths.

Where Computer sits among sandbox runtimes

  • Unlike a generic CI container runner, Computer couples the filesystem lifecycle to a Durable Object with SQLite-backed persistence and DO-restart durability.
  • E2B and Daytona provide sandboxed execution environments but are not tied to the Cloudflare Workers / Agents programming model.
  • Modal and Fly Machines are heavier VM-style runtimes; Computer targets agent-scale workspaces, explicitly not full monorepos or heavy `node_modules` installs.

Who should pay attention?

Good fit if

  • Prototyping an `@cloudflare/agents` agent that needs to persist files between turns inside a single Durable Object.
  • Experiments that combine R2-backed read-only reference data with a writable agent workspace.
  • Spikes that need isolated ECMAScript execution with durable relative imports and managed execution records.

Skip for now if

  • Production systems that cannot tolerate breaking API changes during a preview.
  • Workloads requiring more than ~10GB of workspace storage.
  • Heavy IO patterns such as large `node_modules` installs or big tarball extractions inside the container backend, where FUSE overhead is a measurable penalty.
  • Projects that require unsolicited pull requests to land fixes — this repo only accepts issues and discussions.

Risks and cautions

High

Preview-only package with unstable APIs, an explicit not-for-production warning, and contribution model that blocks outside PRs.

  • README states APIs are unstable and the design is subject to change; the spec is forward-looking, not a description of current code.
  • Container-side filesystem is held in memory, so large trees do not fit.
  • FUSE-based container IO imposes a measurable performance hit on heavy workloads.
  • CONTRIBUTING.md says the repository does not accept unsolicited pull requests; all changes go through issues or discussions.
  • GHCR image is pinned to an alpha tag (`0.1.0-alpha.1`), signaling early maturity.
  • Security reports must not go through public issues, discussions, or pull requests; contributors are directed to Cloudflare's vulnerability disclosure process at https://www.cloudflare.com/.well-known/security.txt.
  • The `worker-javascript` backend provides isolated ECMAScript-module execution with structured input/results and managed execution records.
  • Trusted bindings such as `ws:git` and `ws:artifacts` are configured by the runtime rather than exposed ad-hoc.
  • MIT License, Copyright (c) 2026 Cloudflare, Inc., with standard no-warranty clauses.

Alternatives to compare

ApproachWhen to useTrade-off
E2B
When you need sandboxed code execution outside the Cloudflare Workers model.Usage-based SaaS.
Daytona
When you want a self-hosted development environment manager.Open source.
Modal
When you need general-purpose serverless containers with Python-first ergonomics.Usage-based SaaS.
Cloudflare Containers (direct)
When you want to run a container on Cloudflare without the Computer filesystem abstraction.Cloudflare usage.

What this trend reveals

Agent workspace demos on Workers

Build a small demo where an `@cloudflare/agents` agent uses `@cloudflare/computer/tools` to read, write, and edit files in a DO-backed workspace, then publishes an artifact.

Confirm the agent can recover its filesystem state after a DO restart and that `ls`, `edit`, and `publish` tools behave as documented.

R2 prefill for retrieval agents

Mount a curated R2 dataset read-only into the workspace tree so an agent can operate over reference data without copying it into the SQLite-backed writable store.

Measure mount latency and verify that read-only mounts stay consistent across restarts.

Backend selection benchmark

Compare the container shell, just-bash Dynamic Worker, and isolated ESM Dynamic Worker backends for a representative agent task to inform future production choices.

Record execution time, restart durability, and any `capnweb` sync errors under the container backend.

Best next action

Stand up a single-backend agent prototype

Pick the backend that matches your closest use case — likely `worker-javascript` for isolated JS or `container` for shell access — and wire the AI SDK tools into an `@cloudflare/agents` agent.

  1. Run `npm install @cloudflare/computer` inside an existing Worker or Agent project.
  2. Choose one backend entrypoint: `@cloudflare/computer/backends/container`, `@cloudflare/computer/backends/worker-shell`, or `@cloudflare/computer/backends/worker-javascript`.
  3. Construct a `Workspace` and set `workspace.runtime` to the chosen backend.
  4. Import `@cloudflare/computer/tools` and expose `read`, `write`, `edit`, and `ls` to your agent.
  5. For the container backend, build from `examples/container/Dockerfile` and confirm the `computerd` daemon and FUSE runtime are present.
  6. Open an issue or discussion at github.com/cloudflare/computer with any API feedback, since the package is preview-only.

RepoDaily verdict

Cloudflare Computer is an ambitious, well-scoped preview that addresses a real gap — durable, agent-scale filesystems plus pluggable execution inside Durable Objects — but its unstable APIs, in-memory container filesystem, and no-PR contribution model make it a prototyping tool today, not a production dependency.

Sources