claude-docker: one command, one container, full permissions A developer created claude-docker, a one-command install script that runs Claude Code inside a Docker container with full permissions but limited filesystem access. The script builds a minimal image with Claude Code and the rtk CLI, then sets up shell aliases to launch the container with --dangerously-skip-permissions while mounting only the current project directory, reducing risk compared to running on the bare host. If you've ever wanted to run Claude Code https://claude.com/product/claude-code with full permissions, without worrying about it touching anything outside your project. This one-liner install script does exactly that. The script builds a minimal Docker image node:22-slim with Claude Code and the rtk CLI pre-installed, then wires up two shell aliases: — launches Claude Code inside the container with claude-docker --dangerously-skip-permissions , your current directory mounted at /workspace — drops you into a bash shell in the same container, useful for poking around or debugging claude-docker-sh Because everything runs inside the container, "skip permissions" mode is much less risky than running it on your bare host — Claude can act freely, but it's boxed into the container's filesystem plus whatever you've explicitly mounted. Under the hood, the install script just appends two docker run one-liners to your shell rc file as aliases — no separate binary, no PATH changes, just plain shell aliasing. That's what makes claude-docker and claude-docker-sh available as regular commands once the file is sourced. The image itself starts from node:22-slim and installs git , curl , and gh via apt, then @anthropic-ai/claude-code via npm, plus the rtk CLI through its own install script. It also creates a dedicated non-root claudeuser to run as, rather than executing everything as root inside the container. Docker needs to be installed and running first — the script builds an image and everything else depends on that. Two versions are available depending on your shell: bash: curl -s https://gist.githubusercontent.com/acashjos/93f47fce263dcaaa1cd5ba38b4459ffb/raw/5944ef120f150ca08287d406ff3397a6687b871f/claude-docker-install-bash.sh | sh zsh: curl -s https://gist.githubusercontent.com/acashjos/93f47fce263dcaaa1cd5ba38b4459ffb/raw/5944ef120f150ca08287d406ff3397a6687b871f/claude-docker-install-zsh.sh | sh Or download it first, review it, then run: curl -O https://gist.githubusercontent.com/acashjos/93f47fce263dcaaa1cd5ba38b4459ffb/raw/5944ef120f150ca08287d406ff3397a6687b871f/claude-docker-install-bash.sh chmod +x claude-docker-install-bash.sh ./claude-docker-install-bash.sh The script builds the image, appends the aliases to your .bashrc or .zshrc , and sources the file so they're available immediately. From any project directory: claude-docker This mounts your current working directory into the container and starts Claude Code with all permissions granted. On first run, use the /login command inside Claude Code to complete authentication. Need a plain shell in the same environment instead? claude-docker-sh Running Claude Code with --dangerously-skip-permissions on a bare host means it can read, write, or execute anything your user account can. Wrapping it in Docker with only $HOME/.claude-docker and your project directory mounted keeps the blast radius contained to those two paths — a reasonable middle ground between full manual approval and full autonomy. Full source and both shell variants: gist.github.com/acashjos/93f47fce263dcaaa1cd5ba38b4459ffb https://gist.github.com/acashjos/93f47fce263dcaaa1cd5ba38b4459ffb