Open Source · Apache 2.0 · ★ GitHub · Releases · Latest release · Last commit

Claude Code,
Without The
Blast Radius.

DevCell is a local-first sandbox for AI coding agents. Run Claude Code, Codex, OpenCode, or Gemini inside an isolated cell. Agents write, delete, and install freely. Your host is untouched.

No account. No API key with Max/Pro. brew install and go.

"Run this in a container, not your actual machine."

— Anthropic, Claude Code documentation
Works with
~/myproject $ devcell claude
Opening cell myproject …
✔ mounted /home/alex/myproject
✔ ~/.ssh, ~/.aws: not mounted
───────────────────────────────────────
  Claude Code
· Opus 4.6 · Claude Max
  /myproject
   
───────────────────────────────────────
❯ implement login form
───────────────────────────────────────
⏵⏵ auto-approve · [*.] Cell Active

Quickstart

  1. 1

    Install

    brew install devcell-sh/tap/devcell. Requires docker.
    Platforms: macOS, Linux.

  2. 2

    Run from any project

    cd my-project && devcell claude. First run scaffolds config and builds. Works with devcell codex, devcell opencode, and devcell gemini too. Claude Max, Pro, and API keys all work — it's the client you already use, inside the cell.

# macOS & Linux brew install devcell-sh/tap/devcell # run from any project directory cd ~/dev/my-project devcell claude

Features

What you get.

Container sandbox

Every devcell <agent> runs inside an isolated cell. SSH keys, other repos, and host credentials are unreachable. The container is the guardrail, not the approval loop.

Egress lockdown

devcell claude --solitary denies all outbound traffic except allow-listed domains. The agent cannot phone home, push to the wrong remote, or exfiltrate tokens.

No account, no login

brew install devcell-sh/tap/devcell, cd your-project, devcell claude. No Docker Hub login, no cloud dashboard, no API key required with Claude Max/Pro.

MCP servers with backing tools

You don't install MCP servers; they come ready. The backing tools ship too: the agent can run tofu plan or edit PCBs because OpenTofu and KiCad are installed, not just their MCP servers. 11 servers, each pinned to a commit hash.

Three OS engines

Linux container (Docker), macOS VM (Tart), Windows VM (winkit)e. Same commands, same config. Pick the guest with --os and the engine follows.

Your config carries over

CLAUDE.md, hooks, skills, and MCP config mount into the cell. Your project-level setup works unchanged. 1Password secrets inject at runtime on a RAM-only tmpfs, gone when the cell stops.

Project The agent sees the project dir it was launched in. Other repos aren't hidden, they're absent.
Cell Its own home: dotfiles, shell history, agent memory. Shared across that cell's projects, invisible to other cells.
Host Nothing outside the mount and the cell home. ~/.ssh, ~/.aws, your real home: unreachable.

Docker by default. When your threat model demands a real kernel boundary, --engine tart runs the same cell in a VM.

DevCell starts and controls

One CLI. Three environments.

Linux

Linux

Docker container. Zero config. Starts in seconds.

devcell claude
macOS

macOS

Tart VM. Full macOS guest.

devcell claude --os macos
Windows

Windowse

QEMU Windows VM with WSL inside.

devcell claude --os windows

Same commands, same config, same toolchain. DevCell provisions the environment, mounts your project, and launches the agent. Pick the guest with --os.

Comparison

How it compares.

DevCellDocker SandboxesDaytonaMicrosandboxRaw docker run
Host isolationcontainer, VMmicroVMcontainerlibkrunmanual
Account / login requirednoyesyesnono
Claude Max/Pro (no API key)yesdocumented, brokennonomanual
CLAUDE.md + hooks preservedyesnononomanual
MCP servers + backing toolsyes, auto-configcatalog (manual)noown MCPmanual
macOS + Windows VMseyesnononono
Egress lockdownyesyesyesyesmanual
Local-firstyesyescloud onlyyesyes
Credential brokeringnot yetyes (proxy)yes (API)yesmanual
Snapshot / restorenot yetnot yetyesyesno

Use Docker Sandboxes for microVM isolation. Use Daytona for ephemeral cloud sandboxes with an SDK. Use Microsandbox for libkrun microVMs. Use DevCell when the agent needs full auto-approve with your toolchain and Claude setup intact, and no account or cloud dependency.

Focused stacks, not a kitchen sink.

Every cell anchors to one devcell.toml. Each stack ships only what its MCP servers need — Playwright cells have Chromium, IaC cells have OpenTofu, GUI cells have a display server. Start with base (~1.3 GB), adopt more when the work needs it.

First run scaffolds devcell.toml and builds the default stack. Change it anytime in the config, and the agent can install whatever else the project needs.

Everything in the image is defined in devcell-sh/home — read it, fork it, or reuse the modules standalone. Drop a .tool-versions for runtime versions, extend a stack with nix overlays. Upstream updates still merge cleanly.

Compare the stacks →
baseultimatebbbelectronics
Dev essentials ✓ ✓ ✓ ✓
Go + Node + Python — ✓ ✓ —
Infra tools — ✓ ✓ —
Browser + sessions — ✓* ✓* —
GUI desktop — ✓ ✓ ✓
Security / RE — — ✓ —
Electronics — — — ✓
11 MCP servers with backing tools — ✓ ✓ ✓

* Headless only. GUI desktop (VNC/RDP) ships in the ultimate stack; other stacks add it via modules.

Need a different mix? Set stack and modules in devcell.toml. Multi-arch (amd64/arm64), published to ghcr.io/devcell-sh/devcell.

Common questions

FAQ