Sandboxing for AI coding agents · Linux + macOS
Docker and VMs isolate by replacing your environment - fresh shell, no mise, no editor config, slow rebuilds. So most people skip isolation entirely.
devsandbox brings your real shell, mise-managed tools, and editor setup into a per-project sandbox. Your ~/.ssh, cloud credentials, and other projects stay invisible.
mise use -g github:zekker6/devsandbox
Open source · MIT · Sub-second startup on Linux (bubblewrap) · Docker-backed on macOS
/ 01 - the DX gap
Spin up a Docker container or VM and you land in a stranger's machine: bash with no aliases, no mise, no editor, no prompt. Reinstall everything, fight file watchers, eat 10-30s cold starts. Eventually you give up and let the agent run on the host. devsandbox closes that gap.
Docker · VM
mise, starship, tmux - gonedevsandbox
mise tools mounted read-only - Go, Node, Python, all of it/ 02 - how it works
01 · wrap
The directory you run devsandbox from becomes the sandbox root. Everything outside it is gone.
cd ~/projects/my-app
devsandbox claude --dangerously-skip-permissions
02 · inherit
mise tools, shell configs, editor and prompt - auto-detected, bound read-only. No reinstall, no Dockerfile, no mise install twice.
# inside the sandbox
mise ls # your real toolchain
which nvim # your real editor
echo $STARSHIP_* # your real prompt
03 · isolate
SSH keys, cloud creds, .env, sibling projects - invisible. .git is read-only by default. Now --dangerously-skip-permissions actually means something.
ls ~/.ssh
# No such file or directory
cat .env
# (empty - masked with /dev/null)
04 · observe
Add --proxy to log every HTTP call. Block, allow, or interactively approve domains as the agent runs.
devsandbox --proxy claude --dangerously-skip-permissions
devsandbox logs proxy --last 50
/ 03 - security baseline
DX is the headline; isolation is the floor. The defaults are tuned so that an agent inside a fresh sandbox can do its job and nothing more - no flags required.
read · write · inherit
mise-managed tools (read-only)blocked by default
~/.ssh - keys, known_hosts~/.aws, ~/.azure, ~/.gcloud.env and .env.* (masked).git read-only)