Run Claude Code in YOLO mode inside Docker containers — automatic runtime detection, pre-configured MCP servers, security restrictions baked in.
git clone https://github.com/wlame/vibrator.git
cd vibrator
make build
cp build/vibrate.sh /usr/local/bin/vibrateOr download the latest vibrate.sh from releases and put it in your PATH.
cd ~/my-project
vibrateThat's it. Vibrator auto-detects your Docker runtime (Docker Desktop, OrbStack, Colima, Podman, etc.), builds the image on first run, and drops you into an interactive shell with Claude Code ready to go.
- On the host, generate a token:
claude setup-token
- Save it:
Vibrator picks this up automatically on every run.
echo "eyJhbGc..." > ~/.claude-docker-token
Note: Using a pre-set OAuth token (
CLAUDE_CODE_OAUTH_TOKENor~/.claude-docker-token) does not grant access to the 1M context window, even if your Claude plan includes it. The extended context is tied to browser-based OAuth login.To use 1M context inside the container, skip the token file and log in interactively:
unset CLAUDE_CODE_OAUTH_TOKEN vibrate # then inside the container: claude auth login
ANTHROPIC_API_KEY=sk-ant-... vibratevibrate # Interactive shell (current directory)
vibrate --workspace /path # Custom workspace
vibrate --build # Build image and exit
vibrate --rebuild # Force rebuild from scratch
vibrate --dind # Docker-in-Docker (elevated privileges)
vibrate --ssh-gpg-agents # Forward SSH/GPG agents (opt-in)
vibrate --verbose # Show Docker commands and runtime info
vibrate --export-dockerfile FILE # Dump generated DockerfileVIBRATOR_IMAGE # Override Docker image
VIBRATOR_VERBOSE=1 # Verbose output
VIBRATOR_DOCKER_SOCKET # Override Docker socket
CLAUDE_CODE_OAUTH_TOKEN # OAuth token (preferred auth)
ANTHROPIC_API_KEY # API key (legacy auth)# Pull pre-built image (~2GB, skips 10+ min build)
vibrate --pull
# Or build locally
vibrate --generic --buildAuthenticate inside the container with claude auth login.
make build # Build vibrate.sh
make build VERSION=1.2 # With specific version
make validate # Build + run all tests (52 tests)
make lint # shellcheck source files
make clean # Remove build artifactsMIT — see LICENSE