RchGrav/claudebox
The Ultimate Claude Code Docker Development Environment - Run Claude AI's coding assistant in a fully containerized, reproducible environment with pre-configured development profiles.
ClaudeBox – A Docker‑based Development Environment for Anthropic’s Claude Code
What it is
- A command‑line tool that sets up an isolated Docker container pre‑loaded with the Claude Code CLI (Anthropic’s AI coding assistant) and a suite of development tools.
- Each project gets its own Docker image, Python virtual environment, firewall allowlist, and persistent Claude authentication/history, so you can work on many projects side‑by‑side without cross‑contamination.
Key capabilities
| Feature | What you get |
|---|---|
| Containerized Claude | Runs Claude Code inside a Debian‑based Docker image, automatically installing Docker if it’s missing. |
| Development profiles | One‑click installation of language stacks (C/C++, Python, Rust, Go, Java, JavaScript, etc.) and specialised toolsets (OpenWRT, DevOps, Security, Data‑Science, etc.). |
| Per‑project isolation | Separate Docker images, auth files, shell history, and tool configs for each project (called slots). |
| Persistent configuration | Profiles, installed packages, and the Python uv virtual environment survive container restarts. |
| Multi‑instance support | Launch independent Claude sessions in different project directories simultaneously. |
| Security controls | Project‑specific firewall allowlists; optional --enable‑sudo, --disable‑firewall, or --dangerously‑skip‑permissions flags. |
| Rich developer experience | GitHub CLI, Delta, fzf, Powerline‑styled Zsh, and built‑in tmux integration for multi‑pane workflows. |
| Clipboard bridge (macOS) | Optional service that forwards images/text between the host clipboard and the container (limited to 20 MiB images / 1 MiB text). |
| Task engine | Simple /task command inside Claude to break down and iterate on code‑generation tasks. |
Installation (quick start)
# Grab the self‑extracting installer
wget https://github.com/RchGrav/claudebox/releases/latest/download/claudebox.run
chmod +x claudebox.run
./claudebox.run # extracts to ~/.claudebox/source/ and links ~/.local/bin/claudebox
The installer will also check for Docker and configure it for non‑root use on first run.
If you prefer a manual archive, download the tarball from the Releases page, extract it, and run ./main.sh to create the symlink.
Typical workflow
# Inside a project directory
claudebox create # creates a new “slot” (persistent Claude session)
claudebox slots # list existing slots and their status
claudebox add python # add a development profile (optional)
claudebox slot 1 # attach to slot 1 – you’ll be dropped into a shell with Claude ready
You can start another slot in the same or a different project with another claudebox create. Running claudebox without arguments automatically picks an inactive slot.
Managing profiles
claudebox profiles # list all available profiles with descriptions
claudebox profile # interactive menu to add/remove profiles
claudebox profile status # see which profiles are active for the current project
claudebox profile rust go # install Rust and Go toolchains for this project
Profiles are cached in the project’s Docker image, so installing a new one triggers a rebuild of that image only.
Running Claude with custom flags
claudebox --model opus -c # start Claude with the *opus* model and code‑generation mode
claudebox save --enable-sudo # remember the flag so future runs inherit it
Saved flags are stored locally and applied automatically to subsequent claudebox commands.
Clipboard support (macOS only)
claudebox --clipboard # start a session that can read/write the host clipboard
The bridge creates a short‑lived HTTP listener bound to localhost; the session token acts as a secret. It is disabled by default for security.
Cleaning & maintenance
claudebox clean– interactive menu to delete profile files, project data, Docker images, or everything for the current project.claudebox clean --containers/--image/--cache/--volumes– global Docker cleanup options.claudebox rebuild– force a fresh rebuild of the project’s Docker image.
Where data lives
~/.claudebox/source/– the installed scripts.~/.claudebox/projects/<project‑id>/– per‑project state (profiles, Docker image tag, firewall rules, Python venv, etc.).~/.claudebox/projects/<project‑id>/<slot‑id>/.claude/– Claude authentication tokens, session history, and config files.- The host workspace is mounted read‑write at
/workspaceinside the container; the host’s~/.gitconfigis mounted read‑only.
Who might use this
- Developers who want a reproducible, isolated environment for Claude Code without manually configuring Docker, language runtimes, or security settings.
- Teams that need per‑project sandboxing (different Python versions, separate network allowlists, etc.) while still sharing a single host machine.
- Anyone looking for a “plug‑and‑play” AI‑assisted coding setup that mirrors a full development workstation.
License
- MIT (see
LICENSE).
All information above is taken directly from the repository’s README; no additional features have been inferred.
Related
- Project
- Project
- Project
- Project