trekhleb

Claude Pod — DevOps skill for Claude Code

DevOps community

Docker sandbox for the Claude Code CLI.

How to install Claude Pod

This entry records only its repository, not the path inside it, so there is no exact command to give. Open trekhleb/claude-pod and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

What Claude Pod does

Docker sandbox for the Claude Code CLI. Runs Claude against one project folder — including with --dangerously-skip-permissions — while your home directory, SSH keys, and other projects stay invisible to the container. Unofficial.

Alternatives in DevOps

  • Appwrite — Appwrite® - complete cloud infrastructure for your web, mobile and AI apps 57.5k ★
  • Claude Code Router — Use Claude Code as the foundation for coding infrastructure, allowing you to decide how to interact with the m 30.1k ★
  • Mirrord — Run any process, on your machine or in an AI agent's environment, as if it were a pod in your Kubernetes clust 5.3k ★

README

claude-pod

Docker sandbox for the Claude Code CLI. Runs Claude against one project folder — including with `--dangerously-skip-permissions` — while your home directory, SSH keys, and other projects stay invisible to the container. Unofficial.

![claude-pod](assets/cover.jpeg)

TL;DR

`claude-pod` runs Claude Code inside a Docker container that mounts the project folder you launch it from. Claude can read and edit that folder; the rest of your machine — home directory, SSH keys, other projects, host shell — isn't mounted, so the container can't see it.

It's useful in two cases:

  • With --dangerously-skip-permissions: you get auto-approval without giving Claude access to your whole machine.
  • In normal, prompt-by-prompt mode: the container still caps the blast radius, so an over-broad command, prompt injection, or a malicious dependency can't reach past the project folder.

It's not full isolation — here's the boundary:

  • ✅ Outside the launch folder is unreachable. Your home directory, ~/.ssh, ~/.aws, other projects, and the host shell aren't mounted, so the container can't see them.
  • ⚠️ Inside the launch folder is fully exposed. Any .env, .git/config, or keys in it are readable and writable; outbound network is open, so contents can be read or exfiltrated; and your Anthropic login is stored on the host under ~/.claude-pod/.
  • 🚫 Don't launch from ~ or / or other sensitive folders. That mounts your whole home or filesystem into the container and defeats the point.

The practical effect: the worst case is narrowed from "your whole machine" to "this one folder," which is recoverable from git.

# Clone this repo once, anywhere you like (~/tools/claude-pod is just an example)
git clone https://github.com/trekhleb/claude-pod.git ~/tools/claude-pod

# Build the image (once) — runs from anywhere, no cd needed
~/tools/claude-pod/install.sh

# cd into your project, then launch Claude
cd ~/projects/your-project
~/tools/claude-pod/cla