Prerequisites
- Docker must be installed and running
- An Anthropic API key or Claude Code subscription
- macOS or Linux (Windows is not currently supported)
1. Install Clawker
2. Initialize and Configure Your Project
- Project name — defaults to the current directory name (must be lowercase)
- Language preset — Python, Go, Rust, TypeScript, Java, Ruby, C/C++, C#/.NET, Bare, or “Build from scratch”
- Save or customize — accept the preset as-is, or step through each field to tailor it
- A
.clawker.yamlconfig file pre-filled with the right base image, packages, and firewall domains for your language - A
.clawkerignorefile (.gitignore-style syntax) that controls which files and directories are excluded from the container workspace — in snapshot mode, matching paths are excluded from the copy; in bind mode, matching directories are masked with empty tmpfs overlays. Useful for platform-specific build artifacts (e.g.,dist/,build/,node_modules/) that can cause issues when switching between macOS and Linux - A project entry in Clawker’s registry so it always knows the project root
~/.config/clawker/settings.yaml) and XDG directories are bootstrapped automatically on first run. (Run clawker settings edit to update Clawker CLI settings, like disabling the global firewall, monitoring stack changes, etc.)
Customizing Your Config
You can edit.clawker.yaml directly, or use the interactive TUI editor:
3. Build the Image
clawker-<project>:latest using the settings in your .clawker.yaml — base image, system packages, Claude Code, and any custom instructions. The image is content-addressed, so rebuilds only happen when the config changes.
4. Run Your First Agent
-it— interactive mode with a terminal attached--rm— removes the container when it finishes (recommended, volumes are preserved)--agent dev— names this containerclawker.<project>.dev@— shortcut that resolves to your project’s built image
@) are passed directly to Claude Code inside the container.
What Happens Behind the Scenes
When you run this command, Clawker:- Creates the container with your project directory mounted at its real host path
- Creates persistent volumes for Claude Code config (
~/.claude) and shell history - Starts the firewall daemon (Envoy + CoreDNS) if it isn’t already running
- Applies iptables rules inside the container to redirect traffic through the firewall
- Copies your host Claude Code settings, plugins, and authentication into the container
- Forwards SSH/GPG agent sockets and Git HTTPS credentials from your host
- Runs any
post_initscript you’ve configured - Launches Claude Code
/etc/claude-code/CLAUDE.md, so the agent knows it’s in a clawker container and can help troubleshoot issues and provide guidance when running into constraints.
5. Parallel Agents with Worktrees
Run multiple agents on separate branches using Git worktrees:--worktree branch:base flag creates a Git worktree off the base branch and mounts it into the container. Each agent works on its own branch with no conflicts.
6. Monitoring (Optional)
Start the monitoring stack before your agents to get real-time dashboards:http://localhost:3000 to see costs, token usage, tool calls, and session timelines for every agent.
7. Autonomous Loops (Experimental)
Run Claude Code in iterative loops with a fresh container per iteration:Managing Resources
Clawker mirrors Docker CLI patterns but only operates on Clawker-managed resources:Firewall Management
What’s Next
Configuration
Full
.clawker.yaml reference with layered config and monorepo supportSecurity & Firewall
Understand the deny-by-default firewall and how to configure domain access
Custom Images
Packages, Dockerfile instructions, injection points, and custom Dockerfiles
Credential Forwarding
SSH, GPG, Git HTTPS, and Claude Code authentication forwarding