realm
Sandboxed Docker environments for git repos — safe playgrounds for AI coding agents.

Why realm?
AI coding agents (Claude Code, Cursor, Copilot) are powerful — but letting them loose on your actual working tree is risky. Realm gives them a safe, isolated sandbox where they can go wild without consequences.
- Your code stays safe — only
.gitis mounted, host files are never modified - AI agents can experiment freely — commit, branch, rewrite, break things — your working tree is untouched
- Zero cleanup — the container is destroyed on exit
- Named sessions — resume where you left off, run multiple experiments in parallel
- Bring your own toolchain — works with any Docker image
Quick Start
|
# You're now in an isolated container with full git access
Claude Code Integration
Realm is the ideal companion for Claude Code. Run Claude Code inside a realm session and let it make risky changes, experiment with branches, and run tests — all fully isolated from your host.
Everything the agent does stays inside the container. When you're done, delete the session and it's gone.
Install
Quick install
|
From crates.io
From source
Nix
Binary download
Pre-built binaries are available on the GitHub Releases page.
Usage
)
Create a session
# Default: alpine/git image, sh shell, current directory
# Specify a project directory
# Custom image with bash
# Custom mount path inside container
# -c flag works in any position
Resume a session
The container resumes with the same configuration from the original session.
List sessions
NAME PROJECT IMAGE CREATED
---- ------- ----- -------
my-feature /Users/you/projects/app alpine/git 2026-02-07 12:00:00 UTC
test /Users/you/projects/other ubuntu:latest 2026-02-07 12:30:00 UTC
Delete a session
Options
| Option | Description |
|---|---|
-c |
Create a new session |
-d |
Delete the session |
--image <image> |
Docker image to use (default: alpine/git) |
--mount <path> |
Mount path inside the container (default: /workspace) |
--dir <path> |
Project directory (default: current directory) |
Environment Variables
| Variable | Description |
|---|---|
REALM_DOCKER_ARGS |
Extra Docker flags (e.g., --network host, additional -v mounts) |
# Pass extra Docker flags
REALM_DOCKER_ARGS="--network host -v /data:/data:ro"
How It Works
Realm mounts your repo's .git directory into a Docker container. Your host working directory is never modified.
.git-only mount — The container gets full git functionality (commit, branch, diff) without touching your working tree- Session isolation — Each session works independently inside the container
- Host stays clean — After container exit, realm runs
git resetto fix the host index
| Aspect | Protection |
|---|---|
| Host working tree | Never modified — only .git is mounted |
| Git data | Container works on mounted .git only |
| Container | Destroyed after each exit (--rm) |
| Host index | Restored via git reset after container exit |
License
MIT