Prerequisites for Using Cloudflare Computer: A Technical Setup Guide

To use cloudflare/computer, you need Node.js ≥18, npm, a Cloudflare account with the wrangler CLI, and system-level libfuse development headers when running the container backend locally.

Cloudflare Computer is a virtual filesystem built on top of Cloudflare Durable Objects that enables remote code execution across multiple backends. Before deploying Workers or running the computerd daemon, you must satisfy specific environment requirements ranging from JavaScript runtimes to native system libraries. This guide documents every prerequisite found in the repository source, from README.md to AGENTS.md, ensuring your development environment matches the framework's architecture.

Node.js and npm Runtime

All source code, build scripts, and examples in the cloudflare/computer repository are written in TypeScript and published as npm packages. You must install Node.js ≥18 and npm to build and run the project.

The core package installation follows standard npm workflows:

npm i @cloudflare/computer

Cloudflare Platform Requirements

Because Computer persists state in a Durable Object and executes code via Worker backends (container, isolate-shell, isolate-js), you need an active Cloudflare account and the wrangler CLI tool. The Durable Object holds the SQLite-backed virtual filesystem state, while the workers execute code against it.

After configuring your wrangler.toml with the appropriate Durable Object bindings, deploy the Worker:

wrangler publish

The TypeScript implementation requires binding the Durable Object in your Worker code. As shown in the repository examples, you instantiate a Workspace from the Durable Object environment binding:

import { Workspace } from '@cloudflare/computer';

export default {
  async fetch(request, env) {
    // env.WORKSPACE is the Durable Object binding defined in wrangler.toml
    const ws = await env.WORKSPACE.get();
    const runtime = ws.runtime({ backend: 'container' });
    const { stdout } = await runtime.exec('echo "Hello from Computer"', {});
    return new Response(stdout);
  },
};

Native Build Tools for Container Backend

If you intend to use the container backend or run the computerd daemon locally, you must install native build tools to compile the fuse-native addon. According to AGENTS.md, Debian and Ubuntu systems require the following packages:

sudo apt-get install -y build-essential libfuse-dev

The computerd daemon depends on the native fuse-native addon, which must compile against system libfuse headers. Without these dependencies, the build process fails when attempting to generate the native bindings.

ARM64 Host Considerations

On arm64 hosts (including Apple Silicon), the pre-built fuse-native binary only ships for x64 architectures. You must replace the bundled library with the system-provided libfuse-2 to avoid "file in wrong format" linker errors. The repository documentation in AGENTS.md specifies that arm64 builds require explicit linking against the system libfuse rather than the bundled pre-built binary.

Docker and FUSE Device Configuration

While optional for basic TypeScript development, Docker is strongly recommended for the container backend. The container example mounts the workspace via a real FUSE driver, which requires a privileged container with CAP_SYS_ADMIN capabilities.

Additionally, the host must expose /dev/fuse to the container. The test suite in packages/computerd skips real-FUSE tests when /dev/fuse is missing, falling back to a shim implementation. For production container workloads, ensure the device exists and Docker runs with appropriate privileges as documented in packages/computerd/README.md.

CI/CD Build Optimizations

For GitHub Actions or continuous integration environments where you only need the TypeScript packages without native addon functionality, use the --ignore-scripts flag:

npm install --ignore-scripts

This prevents the fuse-native build from executing on CI runners that lack the system headers, allowing you to compile and test the TypeScript portions independently. The repository's AGENTS.md file documents this approach under "Build before you test" workflows.

Optional Backend Dependencies

Certain backends and examples require additional, optional software:

  • just-bash: Required for the isolate-shell backend, which runs a minimal Bash environment inside a Dynamic Worker.
  • @cloudflare/think: Required for the "think" example demonstrations that use the Think SDK agent.

These dependencies are only necessary when running specific examples from the root README.md and not for core Computer functionality.

Summary

  • Node.js ≥18 and npm are mandatory for all cloudflare/computer usage.
  • A Cloudflare account and wrangler CLI are required to deploy Durable Objects and Workers.
  • Native build tools (build-essential, libfuse-dev) are required only for the container backend and computerd daemon.
  • ARM64 hosts need system libfuse-2 to replace the bundled x64 binary.
  • Docker and /dev/fuse are required for real-FUSE container mounts but not for basic development.
  • Use npm install --ignore-scripts in CI environments to skip native builds when testing TypeScript code only.

Frequently Asked Questions

Do I need Docker to use Cloudflare Computer?

No, Docker is only required if you are running the container backend with real FUSE mounts locally. For development and deployment of the isolate-js or isolate-shell backends, or when using cloudflare/computer purely as an npm package in a Worker, Docker is unnecessary. The container backend specifically requires Docker to provide the sandboxed environment and privileges needed for FUSE operations as documented in packages/computerd/README.md.

Can I run cloudflare/computer on Apple Silicon or ARM64 Linux?

Yes, but you must install the system libfuse-2 library. The fuse-native dependency ships with a pre-built binary for x64 architectures only. On ARM64 systems, the build process must link against the system-provided libfuse headers and libraries instead of the bundled binary. Install libfuse-dev and ensure your build environment can compile native addons against the ARM64 system libraries.

What is the minimum Node.js version required for cloudflare/computer?

The repository requires Node.js version 18 or higher. All package scripts, TypeScript compilation, and npm workspaces are configured for Node 18+. Attempting to build or run the packages on earlier Node versions may result in compatibility errors with modern JavaScript syntax or npm workspace features used throughout the monorepo.

Why does npm install fail with fuse-native compilation errors?

This occurs when installing the computerd package without the required system headers. The fuse-native addon requires libfuse-dev (on Debian/Ubuntu) or equivalent FUSE development headers on other distributions to compile its native bindings. To avoid this error entirely in CI environments where you do not need the daemon, use npm install --ignore-scripts to skip the native build phase as recommended in AGENTS.md.

Have a question about this repo?

These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →