Skip to content
open source · self-hosted · MIT

Run Claude Code
in a box.

A Dockerized Claude Code you open in any browser. Let it run on auto — it can't touch anything outside /workspace, and its traffic is proxied, so it can't break your machine or phone your code home.

★ Star on GitHub
1 command to start 0 code leaves your machine works on any device
stars on GitHub Built for Claude Code Docker sandbox Runs on your machine
The whole point

Let it run on auto.
The box has the keys.

claude-box ships in auto mode — Claude accepts its own edits and runs commands without stopping to ask. That's only comfortable because it's boxed: the worst it can reach is one folder, and it can't talk to anywhere you didn't allow.

  • can't break— only /workspace is mounted; the rest of your disk is invisible.
  • can't steal— all egress goes through a TLS proxy. No quiet exfiltration.
  • can't escape— it's a Docker container, not your host shell.
Containment

Exactly what it needs. Nothing else.

A map of what the agent can and can't reach once it's in the box.

FIG. 1 — containment boundary
your machine
the box · docker
/workspacemounted · rw
~/.sshinvisible
~/secretsinvisible
/ (host root)invisible
claude─▶TLS proxy─▶Anthropic all egress routed · nothing direct
What's in the box

Batteries included.

Everything wired up on first run — auth, proxy, MCP servers, plugins, notifications.

Read the docs →
01

Sandboxed in Docker

Claude Code runs in a container with only /workspace bind-mounted. The rest of your filesystem is never exposed.

02

Auto mode, without the worry

Ships with defaultMode: auto so Claude accepts its own edits and commands — safe to leave running because of the box around it.

03

Live session launcher

Every session on one page, grouped by folder, with auto-refreshing colored terminal snapshots — see what's working, done, or waiting.

04

Web terminal, any device

Claude Code over ttyd in the browser. tmux-backed sessions survive a closed tab or reboot; each one is deep-linkable.

05

Open it from your phone

claude-box --web --tunnel publishes the terminal over a public HTTPS URL via ngrok — drop in from your phone, anywhere.

06

It taps your shoulder

Browser notifications and a tab-title marker the moment a run finishes 🟢 or needs your input 🟡.

07

VS Code in the browser

claude-box --vscode runs code-server on /workspace with the Claude Code extension installed automatically.

08

Proxied egress

Claude → Anthropic traffic is routed through a TLS proxy; internal targets bypass it via NO_PROXY.

09

MCP servers, pre-seeded

GitHub, Atlassian, Sentry, context7, Kubernetes, Figma, Playwright and Grafana seeded into user scope on start.

10

Plugins & config carried

The superpowers plugin, your settings.json, theme and git identity ride along with the repo and apply on clone.

Web terminal

Your terminal, in any browser.

Open Claude Code over ttyd from a laptop, tablet, or phone. Sessions live in tmux, so they survive a closed tab or a reboot — and every one is deep-linkable, so a bookmarked URL drops you straight back in.

Need it off your LAN? claude-box --web --tunnel publishes a public HTTPS address through ngrok — check on a run from your phone while you're out.

laptop tablet phone deep-linkable
Three steps

Up and running in a minute.

01

Clone the repo

git clone github.com/
  rcrvano/claude-box
02

Launch the box

$ claude-box --web
03

Open in your browser

https://localhost:8443

Runs on your machine. Nothing leaves the box.

Your code and keys stay local. Egress is proxied, one folder is mounted, and the whole thing is open source under MIT. Self-host it, audit it, change it.

🔒 Egress proxied 📁 One folder mounted 🐳 Docker isolated ⚖ MIT licensed
Built in the open
Contribute on GitHub →
Ready

Box your Claude.

Isolated, durable, reachable from anywhere. One command to start.

★ Star on GitHub