# claude-docker: one command, one container, full permissions

> Source: <https://dev.to/rogue_paradigms/claude-docker-one-command-one-container-full-permissions-34e4>
> Published: 2026-07-26 02:21:20+00:00

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)
